1.constructor关键字
- constructor关键字用于在类定义块内部创建类的构造函数。
- 方法名constructor会告诉解释器在使用new操作符创建类的新实例时,应该调用这个函数。
- 构造函数的定义不是必需的,不定义构造函数详单与将构造函数定义为空函数。
2.实例化
- 使用new操作符实例化Person的操作等于使用new调用其构造函数。
- JavaScript解释器知道使用new和类意味着应该使用constructor函数进行实例化。
- 使用new调用类的构造函数会执行如下操作。
(1)在内存中创建一个新对象。
(2)这个新对象内部的[[Prototype]]指针被赋值为构造函数的prototype属性。
(3)构造函数内部的this被赋值为这个新对象。
(4)执行构造函数内部的代码。
(5)如果构造函数返回非空对象,则返回该对象;否则,返回刚创建的新对象。
class Person{
constructor(name){
console.log(arguments.length);
this.name = name || null;
}
}
let p1 = new Person;
console.log(p1.name);
let p2 = new Person();
console.log(p2.name);
let p3 = new Person('Jake');
console.log(p3.name);
- 类实例化时传入的参数会用作构造函数的参数,如果不需要参数,则类名后面的括号也是