问题背景
JavaScript高级程序设计中提到用字面量修改prototype会导致实例无法通过[[Prototype]]
访问原型
解决
使用Object.assign函数 复制需要的属性和方法
function f() {
this.a = 1
}
let a = new f()
console.log(a.__proto__ === f.prototype);
Object.assign( f.prototype,{
b:123,
p() {
console.log(this);
}
})
console.log(a.__proto__ === f.prototype)
a.p() // {a: 1}
a["p"]() // {a: 1}
标签:__,console,log,修改,原型,prototype,字面
From: https://www.cnblogs.com/dou-fu-gan/p/17045020.html