我一直在閱讀關於javascript原型鏈接,據我所知,有一個全球Object.prototype
這是其他原型的基礎,如Array.prototype
,它可以作爲基礎另一個原型。就像基於類的OOP中的繼承一樣。沒關係。javascript原型鏈接 - 得到父母的父母
現在,我想檢查和比較不同對象的原型。如果Array
的原型是基於Object.prototype
的,我猜應該可以使用類似Array.prototype.prototype
的東西。但它未定義:
> Array.prototype.prototype
undefined
當我鍵入__proto__
,而不是prototype
,我得到:
> Array.__proto__
[Function: Empty]
> Object.__proto__
[Function: Empty]
> Array.__proto__.__proto__
{}
(控制檯輸出從拍攝的NodeJS)。我有以下問題:
- 如何訪問原型的「父級原型」?
prototype
和__proto__
有何區別?
不完全。 'Array.prototype'本身是「*與某個數組實例的'__proto__'相同*」,而不是它的原型。 – Bergi
@Bergi如果這是關於我的第一個代碼塊的評論,那麼你是對的。刪除。 – bfavaretto