本文主要是介绍Object.create的作用,生成个对象?远远不止这些,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介
Object.create()
是 JavaScript 中的一个方法,用于创建一个新对象,并使用现有的对象作为新创建的对象的 __proto__
(即原型)。换句话说,Object.create()
会执行与以下代码相同的操作:
new ObjectWithPrototype();
ObjectWithPrototype
其中 ObjectWithPrototype
是一个函数,其原型属性包含了你想要新对象继承的属性。
Object.create()
方法接受两个参数:
proto
(可选):新创建对象的原型对象。propertiesObject
(可选):一个可选的对象,其自身的可枚举属性(即那些直接存在于对象上而不是继承自原型链的属性)将被添加到新创建的对象上作为新创建对象的可枚举属性。
这里有一个使用 Object.create()
的基本示例
// 创建一个原型对象
var personProto = { isHuman: false, printIntroduction: function() { console.log(`My name is ${this.name}. Am I human? ${this.isHuman}`); }
}; // 使用 personProto 作为原型创建一个新对象
var person1 = Object.create(personProto); // 为新对象添加属性
person1.name = 'Matthew';
person1.isHuman = true; // 调用在原型上定义的方法
person1.printIntroduction();
// 输出: "My name is Matthew. Am I human? true"
在这个例子中,person1
对象是通过 Object.create(personProto)
创建的,因此 personProto
成为了 person1
的原型。这意味着 person1
可以访问 personProto
上定义的所有属性和方法。之后,我们给 person1
添加了 name
和 isHuman
属性,并调用了原型上的 printIntroduction
方法。
Object.create()
是一种更直接、更简洁的方式来创建一个新对象,并指定它的原型,而不是使用传统的 new Object()
或 new SomeConstructor()
方式。此外,它允许你在不创建构造函数的情况下定义对象的原型。
原型继承
另外,原型继承也可以使用它
原型基础参考https://lukangong.blog.csdn.net/article/details/135660893
这篇关于Object.create的作用,生成个对象?远远不止这些的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!