JavaScript中的对象和对象构造函数?
在面向对象编程的生活世界中,我们已经知道类和对象的重要性,但是与其他编程语言不同,JavaScript没有其他语言所具有的传统类。但是JavaScript具有对象和构造函数,它们在大多数情况下以相同的方式工作以执行相同的操作。
- 构造函数是与“new”关键字一起使用的常规JavaScript函数。构造函数在JavaScript中有两种类型,即内置构造函数(数组和对象)和自定义构造函数(定义特定对象的属性和方法)。
- 当我们需要一种创建可以多次使用而不必每次都重新定义对象的对象“type”的构造函数时,构造函数会很有用,这可以使用Object Constructor函数来实现。按照惯例,大写的构造函数名称会将其与常规函数区分开。
例如,考虑以下代码:
function Automobile(color) {
this.color=color;
}
var vehicle1 = new Automobile ("red");
函数“Automobile()”是一个对象构造函数,其属性和方法即“color”在其内部声明为关键字“this”。然后使用关键字“new”将使用对象构造函数定义的对象转换为即时对象。
调用新的Automobile()时,JavaScript执行以下两项操作:
- 它创建一个新的新对象(实例)Automobile()并将其分配给变量。
- 它将对象的构造函数属性“color”设置为Automobile。
Object.isSealed()方法
Object.isSealed()方法用于确定对象是否密封。
如果满足以下所有条件,则将对象密封:
- 如果不能扩展。
- 如果其所有属性都是不可配置的。
- 如果不可移动(但不一定不可写入)。
Object.isSealed()将对象作为必须检查的参数,并返回一个布尔值,表示对象是否密封。
应用范围:
- Object.isSealed()用于检查对象是否密封。
用法:
Object.isSealed(obj)
Parameters Used:
obj : It is the object which has to be checked.
返回值:
Object.isSealed() returns a boolean representing whether the object is sealed or not.
下面提供上述函数的示例。
例子:
Input : const object = { property: 'hi geeksforgeeks' }; console.log(Object.isSealed(object)); Output : false
说明:在上面的示例中,该对象尚未使用Object.seal()方法密封,因此,当使用Object.isSealed()方法进行检查时,该对象返回false。
Input : const object = { property: 'hi geeksforgeeks' }; Object.seal(object); console.log(Object.isSealed(object)); Output : true
说明:在上面的示例中,对象已使用Object.seal()方法密封,因此,当使用Object.isSealed()方法进行检查时,该对象返回true。
下面提供了上述函数的代码。
代码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。
注:本文由纯净天空筛选整理自Shubrodeep Banerjee大神的英文原创作品 Object.isSealed() In JavaScript。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。