基本语法
{ // 基本定义和生成实例 class Parent { // 定义构造函数 constructor (name = 'LiMing') { this.name = name } } // 生成实例 let parent = new Parent('Helzeo') console.log(parent) // {name: "Helzeo"} }
类的继承
{ // 基本定义和生成实例 class Parent { // 定义构造函数 constructor (name = 'LiMing') { this.name = name } } // 生成实例 let parent = new Parent('Helzeo') console.log(parent) // {name: "Helzeo"} // 类的继承 class Child extends Parent { constructor (name = 'child name') { super(name) // 子类覆盖父类 super 必须要放在第一行 // 子类定义自身属性和方法一定要在 super 之后 this.type = 'child' } } let child = new Child('chile param') console.log(child) }
getter 和 setter
{ // getter 和 setter class Parent { // 定义构造函数 constructor (name = 'LiMing') { this.name = name } get longName() { // 注意这里是属性, 不是方法 return this.name + 'Lee' } set longName(value) { // 注意这里是属性, 不是方法 this.name = value } } let parent = new Parent() console.log('getter', parent.longName) // LiMingLee parent.longName = 'Helzeo' console.log('setter', parent.longName) // HelzeoLee }
静态方法 static
{ // 静态方法 关键字 static class Parent { // 定义构造函数 constructor (name = 'LiMing') { this.name = name } // 静态方法, 通过类来调用, 而不是实例来调用 static tell() { console.log('tell') } } Parent.tell() }
静态属性
{ // 静态方法 关键字 static class Parent { // 定义构造函数 constructor (name = 'LiMing') { this.name = name } } // 定义静态属性没有关键字, 直接在类上赋值即可 Parent.type = 'test' console.log('静态属性', Parent.type) }