小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
什么是类
类是用来创建对象的模板,JavaScript 的类建立在原型上,但是也有某些语法和语义没有与 ES5 相似的语义共享。
语法和语义的区别
语法:编写代码时需要遵守的书面规则
语义:代码实际被执行的方式和产生的结果
我们在使用语言新特性的时候,也会有语法变化和语义变化的区别,比如 解构赋值、async 等,是对于语法的修改,我们把他们叫做语法糖,babel 的编译的时候可以他们编译为 ES5 的语法;但是也有一些不涉及到语法的改动,但是语义产生了变化,比如 Proxy。
我们可以定义一个基本的类
class Animal {}
这是通过类声明方式定义的,也可以通过函数声明的方式定义,但是这不太常用,他们的区别是函数声明会声明提升,类声明不会。
类的方法定义
类体是大括号内的部分,是定义类成员的位置,比如方法或构造函数。
类执行在严格模式下,也就是类的方法和构造函数,都是在严格模式下执行的
类的成员定义,包括构造函数、原型方法、静态方法等,另外还包括实例属性、字段声明、子类扩展等,我将会下后面的文章中分别分析和补充示例,以及关联的知识