1

у меня есть:JavaScript создать и назначить объект-прототип другому объекту

// prototype object 
var x = { 
    name: "I am x" 
}; 

// object that will get properties of prototype object 
var y = {}; 

// assign the prototype of y from x 
y.prototype = Object.create(x); 

// check 
console.log(y.__proto__); 

Результат:

enter image description here

Почему? Что я делаю не так?

+1

Свойство 'prototype' будет выполняться только для объектов функции. В противном случае это просто другое свойство. – thefourtheye

ответ

5

Существует не такое специальное свойство, как prototype для объектов, которые будут действовать как функция для функций. То, что вы хотите, это просто Object.create(x);:

var x = { 
    name: "I am x" 
}; 

// object that will get properties of prototype object 
var y = Object.create(x); 

// check 
console.log(y.__proto__); 

// verify prototype is x 
console.log(Object.getPrototypeOf(y) === x); // true 
Смежные вопросы