ES 6 怎么写 class ,为何会出现 class?
ES6的class可以看作是一个语法糖,它的绝大部分功能ES5都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法
//定义类
function Person{}
class Person {
constructor(x,y) {
//constructor方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法,
一个类必须有constructor方法,如果没有显式定义,一个空的constructor方法会被默认添加
this.x = x; //this关键字代表实例对象
this.y = y;
}
toString() {
return '(' + this.x + ',' + this.y + ')';
}
}
等同于
ES5 的构造函数Person
Person.prototype = {
constructor() {},
toString() {}
};
1、类和模块的内部,默认就是严格模式,所以不需要使用use strict指定运行模式。
考虑到未来所有的代码,其实都是运行在模块之中,所以 ES6 实际上把整个语言升级到了严格模式。
2、类不存在变量提升(hoist)
静态方法
类相当于实例的原型,所有在类中定义的方法,都会被实例继承。
如果在一个方法前,加上static关键字,就表示该方法不会被实例继承,
而是直接通过类来调用,这就称为“静态方法”。
还没有评论,快来发表第一个评论!