Skip to content

Latest commit

 

History

History
109 lines (86 loc) · 4.41 KB

File metadata and controls

109 lines (86 loc) · 4.41 KB
title ms.custom ms.date ms.prod ms.reviewer ms.suite ms.technology ms.tgt_pltfrm ms.topic dev_langs helpviewer_keywords ms.assetid caps.latest.revision author ms.author manager
Object.seal Function (JavaScript) | Microsoft Docs
01/18/2017
windows-client-threshold
devlang-javascript
language-reference
JavaScript
TypeScript
DHTML
Object.seal function
seal function
e72c804a-4dab-4ec9-b9df-9c9c908aa12d
12
mikejo5000
mikejo
ghogen

Object.seal Function (JavaScript)

Prevents the modification of attributes of existing properties, and prevents the addition of new properties.

Syntax

Object.seal(object)  

Parameters

object
Required. The object on which to lock the attributes.

Return Value

The object that is passed to the function.

Exceptions

If the object argument is not an object, a TypeError exception is thrown.

Remarks

The Object.seal function does both of the following:

  • Makes the object non-extensible, so that new properties cannot be added to it.

  • Sets the configurable attribute to false for all properties of the object.

When the configurable attribute is false, property attributes cannot be changed and the property cannot be deleted. When configurable is false and writable is true, the value and writable attributes can be changed.

The Object.seal function does not change the writable attribute.

For more information about how to set property attributes, see Object.defineProperty Function. To get the attributes of a property, you can use the Object.getOwnPropertyDescriptor Function.

Related Functions

The following related functions prevent the modification of object attributes.

Function Object is made non-extensible configurable is set to false for each property writable is set to false for each property
Object.preventExtensions Yes No No
Object.seal Yes Yes No
Object.freeze Yes Yes Yes

The following functions return true if all of the conditions marked in the following table are true.

Function Object is extensible? configurable is false for all properties? writable is false for all data properties?
Object.isExtensible Yes No No
Object.isSealed No Yes No
Object.isFrozen No Yes Yes

Example

The following example illustrates the use of the Object.seal function.

// Create an object that has two properties.  
var obj = { pasta: "spaghetti", length: 10 };  
// Seal the object.  
Object.seal(obj);  
document.write(Object.isSealed(obj));  
document.write("<br/>");  
  
// Try to add a new property, and then verify that it is not added.   
obj.newProp = 50;  
document.write(obj.newProp);  
document.write("<br/>");  
  
// Try to delete a property, and then verify that it is still present.   
delete obj.length;  
document.write(obj.length);  
  
// Output:  
// true  
// undefined  
// 10  
  

Requirements

[!INCLUDEjsv9]

See Also

Object.preventExtensions Function
Object.freeze Function
Object.isExtensible Function
Object.isSealed Function
Object.isFrozen Function