📅  最后修改于: 2023-12-03 14:42:29.436000             🧑  作者: Mango
在 JavaScript 中,每个对象都有一个属性称为源属性。源属性是一个标记,表示对象是通过对象字面量还是通过构造函数创建的。
当使用对象字面量创建对象时,该对象的源属性为 “Object”:
const obj1 = {}; // 使用对象字面量创建对象
console.log(Object.getPrototypeOf(obj1)); // 输出: Object {}
在上面的示例中,我们使用对象字面量创建对象 obj1
,并使用 Object.getPrototypeOf()
方法获取其原型对象。输出结果表明其原型对象为 Object {}
,这符合我们之前的预期。
当使用构造函数创建对象时,该对象的源属性为构造函数名。
function Person(name) {
this.name = name;
}
const person = new Person('John');
console.log(Object.getPrototypeOf(person)); // 输出: Person {}
console.log(person.constructor === Person); // 结果为 true
在上面的示例中,我们使用构造函数 Person
创建了一个名为 person
的对象。我们使用 Object.getPrototypeOf()
方法获取该对象的原型对象,并检查该对象的构造函数是否是 Person
。输出结果符合我们的预期。
源属性是一个很重要的概念,可以帮助我们确定对象是通过字面量还是构造函数创建的。在 JavaScript 中,每个对象都有原型对象,它是一个包含属性和方法的对象。在创建对象之前,我们应该了解 JavaScript 中的源属性和原型对象,这将有助于我们更好地理解 JavaScript 中的对象系统。