1. 程式人生 > 其它 >JavaScript中的原型與原型鏈

JavaScript中的原型與原型鏈

JavaScript中的原型與原型鏈

JavaScript 中的原型,他是函式物件的屬性,同時他也是一個物件,即:prototype,我們稱他為原型物件

我們通常說的原型指的是另外一個屬性:__proto__,他通常是給瀏覽器使用的,我們程式設計師操作的則是 prototype屬性

prototype與__ proto__關係

function Foo(){
    
}
const f = new Foo()
console.log(f.__proto__ === Foo.prototype)

如上述程式碼所述:建構函式的prototype 等於例項物件的 __proto__

JavaScript中的相關規則:

  1. JavaScript 中的所有函式都是 Function 的例項物件
  2. Object.prototype 是頂層原型物件
  3. 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);