类写法

想学class类写法好久了

一直觉得class类写法比较优秀,可是自己总是对其一知半解,现在刚刚弄清怎么写了,所以先留个坑,等以后熟练了,再来补充。

下面记录一些简单的类书写方式,巩固一下记忆。

1
2
3
4
5
6
7
8
9
10
11
class myFirstClass {
constructor (a, b){
this.c = a + b
console.log(this.c)
}
}

console.log(new myFirstClass(1,2).c)
// expected output: 3,3
console.log(new myFirstClass(3,2).c)
// expected output: 5,5

通过构造一个新的类会生成一个处理后变量c的值, 而且每次生成新的类也不会影响到其他的构造

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Square extends Polygon {
constructor(length) {
super();
// 这里必须用super来调用父类的构造函数
this.name = 'Square';
}
get area() {
return this.height * this.width;
}
set area(value) {
// 注意:不可使用 this.area = value
// 否则会导致循环call setter方法导致爆栈
this._area = value;
}
}