模块导出
1 | const name = "张三"; |
类
1 | // 定义类 |
静态方法
- 类相当于实例的原型,所有在类中定义的方法,都会被实例继承。
- 如果在一个方法前,加上
static
关键字,就表示该方法不会被实例继承,而是直接通过类来调用,这就称为“静态方法”。 - 注意,如果静态方法包含
this
关键字,这个this
指的是类,而不是实例 - 静态方法和普通方法的区别
- 1、如果静态方法包含
this
关键字,这个this指的是类,而不是实例。注意与类中普通方法:类的方法内部如果含有this,它默认指向类的实例。 - 2、静态方法不能被实例调用,只能通过类来调用。
1
2
3
4
5
6
7
8
9class Person {
//静态字段
static name = '张三'
//定义一个静态方法
static say() {
// console.log(`大家好,我叫${this.name}`);不使用this.name--普通方法this指向实例,静态方法this指向类
console.log(`大家好,我叫${Person.name}`);
}
}
构造方法
每一个类都会有一个构造方法
constructor
,如果没有手动给类添加构造方法,那么系统会自动提供一个无参的构造方法
在js中,一个类的构造方法只能有一个;js中是没有重载方法
1 | class Person { |
类的继承
1 | class Person { |
类模块导出
如果只有一个类可以直接使用module.exports
1 | module.exports = class Person { |
如果想导出两个类的话使用exports.xxx = xxx
1 | class Person { |