javascript - 一个对象的原型(prototype)可以改成另一个对象吗?

标签 javascript prototype

当一个对象被创建时,它的原型(prototype)也被设置为一个对象。

对象创建后,其原型(prototype)是否可以更改为不同的对象?

最佳答案

当然可以使用 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)

关于javascript - 一个对象的原型(prototype)可以改成另一个对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56068434/

相关文章:

javascript - 为什么方法括号内的函数声明会产生 method.variableName()?

javascript - 使用 IIFE 时抛出 “` TypeError `: ` [0,1] ` is not a function”

javascript - 使用 "as"函数调用 AJAX 后显示 ng-controller 的内容

javascript - React ES6 App - 本地 API 调用

javascript - 函数应该附加到对象或其原​​型上吗?

javascript - 如果我不需要继承或优化,我应该使用原型(prototype)吗

c# - 如果之前未包含过文件,则包含控件中的 JavaScript 文件

javascript - 在屏幕行的中间设置一些图像,同时调整窗口大小

Javascript 对象构造函数设置为未定义

Javascript 原型(prototype) - 需要帮助添加 Helper 原型(prototype)