ES6引入了 Class,作为对象的模板。通过class关键字,可以定义类。
ES6 的类,完全可以看作构造函数的另一种写法。
类的数据类型就是函数,类本身就指向构造函数。
类相当于实例的原型,所有在类中定义的方法,都会被实例继承。
类的特性:
- 定义“类”的方法的时候,前面不需要加上function这个关键字。
- 方法之间不需要逗号分隔,加了会报错。
- 类的所有方法都定义在类的prototype属性上面。
- 类的内部所有定义的方法,都是不可枚举的。
- 一个类必须有constructor方法,如果没有显式定义,一个空的constructor方法会被默认添加。
- 类必须使用new调用,否则会报错。
- 类也可以使用表达式的形式定义。
- 类不存在变量提升,必须先定义,后使用。
- 如果在一个方法前,加上static关键字,则被称为“静态方法”,可通过类直接调用。静态方法中的this指向类本身。
- 在“类”的内部可以使用get和set关键字,对某个属性设置存值函数和取值函数。
代码说明:
class Person {
constructor(fullname,age) {
this.fullname = fullname;
this.age = age;
}
toString(){
console.log(this.fullname+'---'+this.age);
}
static eat(){
console.log('xxx am eating');
}
}
var p1=new Person('xxx',25);
p1.toString(); //xxx---25
Person.eat(); //xxx am eating
本文只是学习es6的一些简单笔记,详情请看阮一峰的es6入门