在本教程中,我们将借助示例了解 JavaScript Object.create() 方法。
Object.create()
方法使用给定对象的原型创建一个新对象。
示例
let Student = {
name: "Lisa",
age: 24,
marks: 78.9,
display() {
console.log("Name:", this.name);
}
};
// create object from Student prototype
let std1 = Object.create(Student);
std1.name = "Sheeran";
std1.display();
// Output: Name: Sheeran
create() 语法
用法:
Object.create(proto, propertiesObject)
create()
方法是静态方法,使用Object
类名调用。
create()参数
create()
方法包含:
proto
- 应该是新创建对象的原型的对象。propertiesObject
(可选)- 一个对象,其可枚举的自身属性指定要添加到新创建对象的属性说明符。这些属性对应于Object.defineProperties()
的第二个参数。
create() 返回值
- 返回具有指定原型对象和属性的新对象。
注意:如果原型不是null
或一个Object
,TypeError
被抛出。
示例:使用对象。create()
let Animal = {
isHuman: false,
sound: "Unspecified",
makeSound() {
console.log(this.sound);
},
};
// create object from Animal prototype
let snake = Object.create(Animal);
snake.makeSound(); // Unspecified
// properties can be created and overridden
snake.sound = "Hiss";
snake.makeSound(); // Hiss
// can also directly initialize object properties with second argument
let properties = {
isHuman: {
value: true,
},
name: {
value: "Jack",
enumerable: true,
writable: true,
},
introduce: {
value: function () {
console.log(`Hey! I am ${this.name}.`);
},
},
};
human = Object.create(Animal, properties);
human.introduce(); // Hey! I am Jack.
输出
Unspecified Hiss Hey! I am Jack.
相关用法
- JavaScript Object.isPrototypeOf()用法及代码示例
- JavaScript Object.assign()用法及代码示例
- JavaScript Object.isExtensible()用法及代码示例
- JavaScript Object.getPrototypeOf()用法及代码示例
- JavaScript Object.isFrozen()用法及代码示例
- JavaScript Object.seal()用法及代码示例
- JavaScript Object.getOwnPropertyDescriptors()用法及代码示例
- JavaScript Object.setPrototypeOf()用法及代码示例
- JavaScript Object.getOwnPropertySymbols()用法及代码示例
- JavaScript Object.defineProperties()用法及代码示例
- JavaScript Object.freeze()用法及代码示例
- JavaScript Object.preventExtensions()用法及代码示例
- JavaScript Object.is()用法及代码示例
- JavaScript Object.fromEntries()用法及代码示例
- JavaScript Object.getOwnPropertyDescriptor()用法及代码示例
- JavaScript Object.getOwnPropertyNames()用法及代码示例
- JavaScript Object.propertyIsEnumerable()用法及代码示例
- JavaScript Object.defineProperty()用法及代码示例
- JavaScript Object.keys()用法及代码示例
- JavaScript Object.values()用法及代码示例
注:本文由纯净天空筛选整理自 Javascript Object.create()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。