當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript Object.create()用法及代碼示例


在本教程中,我們將借助示例了解 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.create()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。