ES6_Class.md

React / 2022-03-08

ES6 class关键字

构造函数

// 构造函数
class Person{
  constructor(name,age){
    console.log("我是构造函数,我默认在new这个类的实例的时候调用")
    this.name = name;
    this.age = age
  }

  say() {
    console.log(`我的名字是${this.name},我今年${this.age}岁了`);
  }
}

//并没有显式调用constructor这个方法
/*
constructor:构造函数
作用:初始化类的属性,默认调用
*/
var p = new Person("郑晓龙",18);

p.say();

constructor构造函数

不会显式调用,默认在new 实例时调用

new 关键字

var p = new Person("郑晓龙",18);

p.say();

构造函数和普通函数的区别就在这个new操作符里,用new操作符创建对象时发生的事情:

  • 第一步: 创建一个Object对象实例。
 new Object()
  • 第二步: 将构造函数的执行对象赋给新生成的这个实例。
// window.Person()
Object.Person()
  • 第三步: 执行构造函数中的代码
this.name = name; <==> Object.name = name
  • 第四步: 返回新生成的对象实例

注意:如果被调用的函数没有显式的 return 表达式(仅限于返回对象),则隐式的会返回 this 对象, 也就是新创建的对象。

get、set方法

静态方法(类方法)