一、学习内容
1.类 JavaScript 类(class) 类是用于创建对象的模板。 我们使用 class 关键字来创建一个类,类体在一对大括号 {} 中,我们可以在大括号 {} 中定义类成员的位置,如方法或构造函数。 每个类中包含了一个特殊的方法 constructor(),它是类的构造函数,这种方法用于创建和初始化一个由 class 创建的对象。 语法:class ClassName { constructor() { … } } 使用类 定义好类后,我们就可以使用 new 关键字来创建对象: 创建对象时会自动调用构造函数方法 constructor()。 2.类表达式类表达式是定义类的另一种方法。类表达式可以命名或不命名。命名类表达式的名称是该类体的局部名称。 构造方法 构造方法是一种特殊的方法: 3.类的方法我们使用关键字 class 创建一个类,可以添加一个 constructor() 方法,然后添加任意数量的方法。 我们还可以向类的方法发送参数: 严格模式 “use strict”类声明和类表达式的主体都执行在严格模式下。比如,构造函数,静态方法,原型方法,getter 和 setter 都在严格模式下执行。 如果你没有遵循严格模式,则会出现错误: 类方法方法 描述
constructor()构造函数,用于创建和初始化类类关键字 关键字 描述
extends继承一个类
static在类中定义一个静态方法
super调用父类的构造方法4.类的继承 JavaScript 类继承使用 extends 关键字。 继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。 super() 方法用于调用父类的构造函数。 当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类(父类),新建的类称为派生类(子类)。
super() 方法引用父类的构造方法。 通过在构造方法中调用 super() 方法,我们调用了父类的构造方法,这样就可以访问父类的属性和方法。 继承对于代码可复用性很有用。 getter 和 setter类中我们可以使用 getter 和 setter 来获取和设置值,getter 和 setter 都需要在严格模式下执行。 getter 和 setter 可以使得我们对属性的操作变的很灵活。 类中添加 getter 和 setter 使用的是 get 和 set 关键字。 即使 getter 是一个方法,当你想获取属性值时也不要使用括号。 getter/setter 方法的名称不能与属性的名称相同,在本例中属名为 sitename。 很多开发者在属性名称前使用下划线字符 _ 将 getter/setter 与实际属性分开: 要使用 setter,请使用与设置属性值时相同的语法,虽然 set 是一个方法,但需要不带括号 提升 函数声明和类声明之间的一个重要区别在于, 函数声明会提升,类声明不会。 getter 是一种获得属性值的方法,setter是一种设置属性值的方法 getter负责查询值,它不带任何参数,setter则负责设置键值,值是以参数的形式传递,在他的函数体中,一切的return都是无效的 get/set访问器不是对象的属性,而是属性的特性,特性只有内部才用,因此在javaScript中不能直接访问他们,为了表示特性是内部值用两队中括号括起来表示如[[Value]]
5.JavaScript 成员 实例成员:实例成员每new一个对象都是新建一个内存地址,每个对象里的实例成员指向的都是各自的内存地址; 静态成员:加上static修饰的方法和属性就是静态成员,静态成员的地址是共享的 静态方法是使用 static 关键字修饰的方法,又叫类方法,属于类的,但不属于对象,在实例化对象之前可以通过 类名.方法名 调用静态方法。 静态方法不能在对象上调用,只能在类中调用。
|