JavaScript中的原型與原型鏈
阿新 • • 發佈:2022-01-12
JavaScript中的原型與原型鏈
JavaScript 中的原型,他是函式物件的屬性,同時他也是一個物件,即:prototype
,我們稱他為原型物件
我們通常說的原型指的是另外一個屬性:__proto__
,他通常是給瀏覽器使用的,我們程式設計師操作的則是 prototype
屬性
prototype與__ proto__關係
function Foo(){
}
const f = new Foo()
console.log(f.__proto__ === Foo.prototype)
如上述程式碼所述:建構函式的prototype
等於例項物件的 __proto__
JavaScript中的相關規則:
- JavaScript 中的所有函式都是 Function 的例項物件
- Object.prototype 是頂層原型物件
- instanceof是用來建構函式的prototype屬性是否出現在某個例項物件的原型鏈上
function Foo() { } const f1 = new Foo() console.log(Object instanceof Object); console.log(Object instanceof Function); console.log(Function instanceof Object); console.log(f1 instanceof Object); console.log(f1 instanceof Function);