Classes

class 跟 function 相近

class declaration

class Rectangle {
  constructor(height, width) {
    this.height = height
    this.width = width
  }

  get area() {
    return this.calcArea()
  }

  calcArea() {
    return this.height * this.width
  }
}

const square = new Rectangle(10, 10)
console.log(square.area)

class body {} 跟 object literals 非常像,不同的是

class 跟 function 类似

typeof Rectangle  // 'function'

区别:

class expression

匿名 class 表达式

const Rectangle = class {}

class memebers

class 成员有 constructor, methods, accessors

constructor

constructor 只能是普通函数,不能是 generator 等。

constructor 可以省略,默认为 constructor() {}

methods

method 不能用作 constructor function

fields

接下来