Неудобство при создании свойства в объекте с ключом __proto__ - PullRequest
1 голос
/ 05 августа 2020

Я смотрю этот код и копирую его в консоль Chrome.

let __proto__ = {color: "red"};
let o1 = {__proto__};

const newO1 = Object.create(o1);
  1. Я понимаю, что let o1 = {__proto__}; использует метод «сокращенного имени свойства».

Когда я регистрирую o1 Я ожидал:

{
__proto__: {//data property
  color: "red",
  __proto__: Object.prototype //the accessor object
  }
}

Я получаю: enter image description here


  1. При регистрации new01, я ожидал:
{
__proto__: 
  __proto__: {color: "red"},
  __proto__: Object.prototype
}

Я получаю: введите описание изображения здесь

Я совершенно не понимаю, что происходит, когда мы создаем нашу собственную собственность под названием __proto__!

1 Ответ

0 голосов
/ 05 августа 2020

Думаю, вы ищете ниже:

const o1 = {};
Object.defineProperty(o1, 'color', {
  get: () => 'red',
});
const newo1 = Object.create(o1);
console.log(newo1.color);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...