[JavaScript] __proto__ 與 prototype
_ _ proto _ _
每個 js object 都對應一個原型 objecy,並從原型 object 繼承屬性及方法
prototype
不像其他 oo 語言,在 js 內沒有 class,es6 的 class 也只是語法糖
js 透過函數來模擬 class,只有函數才有 prototype 屬性
創建函數時,js 會自動添加 prototype 屬性,值是空 object
若把這個函數當建構函數 (constructor) 調用,js 會創建此構造函數的 instance,繼承 prototype 的所有屬性及方法