声明构造函数

构造函数是用于构造新对象的函数。在构造函数中,关键字 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"