Class 类别

Node.js Class 类别

函式方法

变数 说明
constructor 建构子
super 上层类别
instanceof 判断是类为指定类别

建立类别

class Animal {
    constructor(name, color){
        this.name = name
        this.color = color
    }
    sayHi(){
        console.log(`[Animal] My name is「${this.name}」 My color is 「${this.color}」`);
    }
}
const animal = new Animal('Dog','white');

// [Animal] My name is「Dog」 My color is 「white」
animal.sayHi()

继承类别

class Cat extends Animal {
    sayHi() {
        console.log(`[Cat] My name is「${this.name}」 My color is 「${this.color}」`);
    }
}
const KittyCat = new Cat('Kitty', 'pink');
// [Cat] My name is「Kitty」 My color is 「pink」
KittyCat.sayHi();

呼叫父类别方法

class Cat extends Animal {
    sayHi() {
        console.log(`[Cat] My name is「${this.name}」 My color is 「${this.color}」`);
        super.sayHi();
    }
}

const KittyCat = new Cat('Kitty', 'pink')
// [Cat] My name is「Kitty」 My color is 「pink」
// [Animal] My name is「Kitty」 My color is 「pink」
KittyCat.sayHi();

判断是类为指定类别

console.log(KittyCat instanceof Cat) // true

console.log(KittyCat instanceof Animal) // true

常见问题

私有/公开成员?

参考资料