Можно ли заменить прототип объекта на другой объект? - PullRequest
1 голос
/ 10 мая 2019

Когда объект создается, его прототип также устанавливается на объект.

После того, как объект создан, его прототип может быть изменен на другой объект?

1 Ответ

1 голос
/ 10 мая 2019

Конечно, вы можете использовать Object.setPrototypeOf() (ссылка также содержит несколько полезных предупреждений):

let parent = {
    test: "hello"
}

let child = {}
// object
console.log(Object.getPrototypeOf(child))

Object.setPrototypeOf(child, parent)
// parent now prototype
console.log(Object.getPrototypeOf(child))

// can access parent props
console.log(child.hasOwnProperty('test')) // not on child object
console.log(child.test)
...