javascript - Object.create 是否创建对象文字的实例?

标签 javascript oop

只是为了正确使用术语,在此示例中:

var Cat = {
    food: 'meat',
    eat: function(){
        console.log(this.food);
    }
};


bob = Object.create(Cat);
bob.food = 'milk';

jim = Object.create(Cat);
jim.food = 'water';

bob.eat();
jim.eat();

你能说 Object.create 正在创建 Cat 对象文字的实例吗?

最佳答案

Object.create “使用指定的原型(prototype)对象和属性创建一个新对象”。相关文章:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/create

我认为“实例”是错误的术语,因为您没有以经典的继承方式实现该对象。要创建新实例,您需要在定义中使用 new 关键字。 MDN 文章对此进行了很好的解释。

关于javascript - Object.create 是否创建对象文字的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33497548/

相关文章:

php - 验证用户只投票一次

javascript - 添加多个返回jquery

JavaScript 和 NodeJS : Calling method from different JS file

javascript - 从构造函数引用 Javascript 实例变量而不使用 'this' 关键字

JavaScript 对象属性为 "sometimes"未定义

javascript - 使用 Knex 仅增加 postgres 数据库中的最低条目

javascript - 无法在 JavaScript 中删除数组

javascript - 如何在 vue bootstrap 中启用悬停下拉菜单?

oop - 了解简洁代码示例中的单一责任主体 SRP

c# - 如何调用声明为抽象重写的基方法