📜  JavaScript |源属性(1)

📅  最后修改于: 2023-12-03 14:42:29.436000             🧑  作者: Mango

JavaScript | 源属性

在 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 中的对象系统。