在js中,类(class)是ECMAScript 6新引入的一个语法糖,仍然基于js中已经存在的基于原型的继承模型,因此,这个语法并没有为js引入新的继承模型。事实上,class仍然是特殊的函数。
类定义:
定义类的方式和定义函数的方式一样,也有两种,分别是类声明以及类表达式
1 类声明:
1 | class Polygon { |
类声明与函数声明的一个显著区别是,在函数声明中,存在着变量提升的特性,而在类声明中,则没有这个特性,因此,使用类声明的时候,一定要遵循先声明,后使用的原则。如下的代码就会报错1
2var p = new Polygon(); // ReferenceError
class Polygon {}
而下面这种代码则不会报错1
2
3var p = new Polygon();
function Polygo(){
}
2 类表达式:
1 | // 匿名类 |