对象JavaScript中的isSealed()

JavaScript中的对象和对象构造函数? 在面向对象编程的现实世界中,我们已经知道类和对象的重要性,但与其他编程语言不同,JavaScript没有其他语言中看到的传统类。但是JavaScript有对象和构造函数,它们的工作方式基本相同,可以执行相同类型的操作。

null
  • 构造函数是与“new”关键字一起使用的通用JavaScript函数。在JavaScript中,构造函数有两种类型,即内置构造函数(数组和对象)和自定义构造函数(定义特定对象的属性和方法)。
  • 当我们需要一种方法来创建一个对象“类型”时,构造函数是有用的,该对象“类型”可以多次使用,而不必每次都重新定义对象,这可以通过使用对象构造函数来实现。将构造函数的名称大写以区别于常规函数是一种惯例。

例如,考虑下面的代码:

function Automobile(color) {
this .color=color;
}
var vehicle1 = new Automobile ( "red" );


函数“Automobile()”是一个对象构造函数,其属性和方法(即“color”)通过在其前面加上关键字“this”来声明。然后,使用对象构造函数定义的对象使用关键字“new”生成实例。

当调用new Automobile()时,JavaScript会做两件事:

  1. 它创建一个新的对象(实例)Automobile(),并将其分配给一个变量。
  2. 它将对象的构造函数属性即“颜色”设置为Automobile。

对象isSealed()方法 对象isSealed()方法用于确定对象是否已密封。 如果以下所有条件均成立,则密封对象:

  1. 如果它不可扩展。
  2. 如果其所有属性都不可配置。
  3. 如果它不可移动(但不一定不可写)。

对象isSealed()将对象作为必须检查的参数,并返回一个表示对象是否密封的布尔值。

应用:

  • 对象isSealed()用于检查对象是否已密封。

语法:

Object.isSealed(obj)

使用的参数: obj:这是必须检查的对象。 返回值: 对象isSealed()返回一个布尔值,表示对象是否已密封。

下面提供了上述功能的示例。

例如:


Input : const object = {
        property: 'hi geeksforgeeks'
        };
        console.log(Object.isSealed(object));
Output : false

说明:在上面的示例中,对象没有使用对象进行密封。因此,当使用Object检查seal()方法时,它返回false。isSealed()方法。

Input : const object = {
        property: 'hi geeksforgeeks'
        };
        Object.seal(object);
        console.log(Object.isSealed(object));
Output : true

说明:在上面的示例中,对象已使用对象密封。因此,当使用Object检查seal()方法时,它将返回true。isSealed()方法。

下面提供了上述功能的代码。

代码1:

<script>
// creating an object constructor
// and assigning values to it
const object = {
property: 'hi geeksforgeeks'
};
// checking whether the object
// is sealed or not
console.log(Object.isSealed(object));
</script>


输出:

false

代码2:

<script>
// creating an object constructor
// and assigning values to it
const object = {
property: 'hi geeksforgeeks'
};
// Using seal() method to seal the object
Object.seal(object);
// checking whether the
// object is frozen or not
console.log(Object.isSealed(object));
</script>


输出:

true

例外情况:

  • 如果传递的参数不是对象,则会导致TypeError。
  • 如果一个对象没有作为参数传递给该方法,那么它会将其视为密封对象并返回true。

支持的浏览器:

  • 铬6及以上
  • 边缘12及以上
  • Firefox4及以上版本
  • Internet Explorer 9及以上版本
  • 歌剧12及以上
  • Safari 5.1及以上版本
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享