宣告建構函式
建構函式是用於構造新物件的函式。在建構函式中,關鍵字 this
指的是可以分配給值的新建立的物件。建構函式自動返回這個新物件。
function Cat(name) {
this.name = name;
this.sound = "Meow";
}
使用 new
關鍵字呼叫建構函式:
let cat = new Cat("Tom");
cat.sound; // Returns "Meow"
建構函式還具有 prototype
屬性,該屬性指向一個物件,該屬性的屬性由使用該建構函式建立的所有物件自動繼承:
Cat.prototype.speak = function() {
console.log(this.sound);
}
cat.speak(); // Outputs "Meow" to the console
建構函式建立的物件在其原型上也有一個名為 constructor
的特殊屬性,它指向用於建立它們的函式:
cat.constructor // Returns the `Cat` function
由建構函式建立的物件也被 instanceof
運算子視為建構函式的例項:
cat instanceof Cat // Returns "true"