0%

ECMAScript 6 Class


如果看过我之前的博客,构造函数和原型,应该会发现我提到过Class

早期的时候,生成实例对象的传统方法是通过构造函数,具体实现可以移步原型与构造函数的继承

ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。

基本用法

举个简单的例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Point {
// constructor方法,这就是构造方法,而this关键字则代表实例对象。
// 传递参数后可以直接使用this.xxx进行调用。
constructor(x, y) {
this.x = x;
this.y = y;
}

// 静态属性的表达。前面加上static关键字
static uumber = 42;

// 前面加一个#表示私有的,只能在自己的内部使用this调用
#myValue = 0;

// 写方法之间不要用逗号,方法如果要调用,要记得return
toString() {
return '(' + this.x + ', ' + this.y + ')';
}

// 可以进行传参
name(val){
console.log(val)
}
}

var yuan = new Point(1,2)

console.log(yuan.name('name')) // 最外层输出的undefined,因为没有return东西出来

类的继承

使用extends进行继承,这在我之前的博客已经提到过了

1
2
3
class line extends Point{

}

声明一个line的新类并继承Point类,line新类里边为空,这时候我们实例化新类,并调用里边的name方法。结果也是可以调用到的。

Class的知识点还有很多,但是工作中最常用到的就是这一些,更多的知识可以移步官方文档

以上就是我对ECMAScript 6 Class的一些理解,如果文章由于我学识浅薄,导致您发现有严重谬误的地方,请一定在评论中指出,我会在第一时间修正我的博文,以避免误人子弟。

-------------本文结束感谢您的阅读-------------
没办法,总要恰饭的嘛~~