由於常常說不清這兩個的準確的關係,在這兒記錄一下函數
prototype 原型 prototype
__proto__ 每一個js對象都有一個 __proto__ 的屬性,指向該對象的原型對象
一般來講 實力是經過對 __proto__ 屬性的訪問 去對 prototype對象進行訪問繼承
好比 const test = new Object() // test 在這兒就是一個實例 Object是一個構造函數原型鏈
構造函數 ( 在這兒是Object ) 的 prototype 屬性指向原型 因此 const objProto = Object.prototype 原型
而objProto是一個js對象,上邊說過 每個js 對象都有一個 __proto__的屬性,指向這個對象的原型test
因此 test.__proto__ === objProto === Object.protype構造函數
「原型鏈是由原型對象組成的,每一個對象都有__proto__屬性,指向建立該對象的 構造函數的原型 ,而後經過__proto__屬性將對象co
連接起來,組成一個原型鏈,用來實現繼承和共享屬性」new