前言:
主要就紀錄一下目前 JavaScript 常用,但自己又不熟悉的筆記。
參考資料:
Javascript继承机制的设计思想
該來理解 JavaScript 的原型鍊了
緣由
要理解 JavaScript
原型必須先了解一下 JavaScript
發展史。Brendan 為了讓 JavaScript 有繼承機制,因此想到透過調用 Constructor 來設計。註記:JavaScript
沒有 Class
概念!
1 | //建構函數 |
但是透過 new 方法,所創造的物件實體。裡面的屬性跟方法是不能共用的。
1 | function Car(name){ |
因此,才有了 prototype 的概念!
1 | function Car(name){ |
正題
基本上 JavaScript 都是物件,我們可以拿 Array
來舉例。
1 | let array = [1,2,4]; |
既然他嚴格來說也算物件,那當然也可以用物件方法來建立屬性或方法。
1 | let array = [1,2,4]; |
而何謂原型鏈呢?
物件會透過
__proto__
一直往上尋找物件,直到最上層!一直往上尋找的過程就是指原型鏈!直到最上層為Null
為止
名詞解釋
prototype
- 前者是函式上的屬性
proto
- 後者是物件上的屬性