在 javascript 中,如果一个对象继承自一个函数,它似乎根本无法使用 name 属性。我已经在 node.js 中对此进行了测试,并且在各种浏览器中可能都是如此。例如:
var A = function() {}
A.prototype = function() {}
var x = new A()
x.name = "bob"
console.log(x.name) // logs blank
在这种情况下,您不能覆盖对象原型(即__proto__
)中给出的属性,这似乎几乎是荒谬的。我要疯了吗?