0
今天在玩弄一些寵物項目時,我遇到了一些我無法解釋的特性。下面是從一個節點REPL日誌:不可寫的原型屬性是否可以被映射?
> foo = Object.create({}, { toString: { value: function() { return 'bob' } } })
{}
> bar = Object.create(foo)
{}
> bar.toString()
'bob'
> bar.hasOwnProperty('toString')
false
> bar.toString = function() { return 'nope' }
[Function]
> bar.toString()
'bob'
這是我的期望bar.toString
將陰影foo.toString
,但是這似乎並沒有發生。在創建foo
時,將toString
屬性設置爲writable: true
使其按預期工作。
不能寫入的原型屬性是否可以被映射?
清晰:需要注意的是任何屬性名稱不相同,「toString2」或「myProp」,這裏不僅僅是「的toString」 – dandavis 2015-02-08 00:56:16
的主要問題是非常有用這個問題一樣:[從凍結的父對象創建新的對象](http://stackoverflow.com/questions/19698533/creating-new-objects-from-frozen-parent-objects) – 2015-02-08 02:57:32
@ Qantas94Heavy是對的,這個問題應作爲副本關閉。感謝您的鏈接! – 2015-02-08 15:13:36