ES6中的class浅谈

在 ES6 中引入了类(class)的概念,让 JavaScript 更加接近传统面向对象编程语言。类提供了一种用于创建对象的模板,其中包含了属性和方法的定义。

1.定义类

使用 class 关键字可以定义一个类,类名通常以大写字母开头。

 

 1  class Person {
 2 
 3 
 4     constructor(name,age,work){
 5         this.name = name;
 6         this.age = age;
 7         this.work = work;
 8     }
 9 
10     info(){
11         console.log(`我叫${this.name},我今年${this.age}岁,我的工作是${this.work}`)
12     }
13  }

 

在上面的例子中,我们定义了一个 Person 类,包含了构造函数 constructor 和一个 info 方法。构造函数用于初始化对象的属性,而方法则用于定义对象的行为。

 

2.创建对象实例

通过 new 关键字可以实例化一个类,创建对象实例

 let red = new Person('小红','18','teacher')
 red.info() //我叫小红,我今年18岁,我的工作是teacher

在这个例子中,我们使用 Person 类创建了一个名为 red 的对象实例,并调用了 info 方法。

3.继承

ES6 的类支持继承,可以通过 extends 关键字实现类之间的继承关系。

 class Lawyer extends Person {
    constructor(name,age,work,wage){
        super(name,age,work)
        this.wage = wage
    }
    info(){
        console.log(`我叫${this.name},我今年${this.age}岁,我的工作是${this.work},我的年薪是${this.wage}`)
    }
    
 }
 let blue = new Lawyer('小蓝','33','lawyer','20w')
blue.info() //我叫小蓝,我今年33岁,我的工作是lawyer,我的年薪是20w

在这个例子中,Lawyer 类继承Person 类,使用 super 关键字调用父类的构造函数,并添加了一个新的 info 方法。

4.静态方法

ES6 的类还支持静态方法,可以通过 static 关键字定义一个静态方法,静态方法属于类本身而不是实例。

 

class Test {
    static testStatic(a,b){
        a=a+b;
        b= a-b;
        console.log(a,b)

        return a*b
    }
}

const number = Test.testStatic(5,2)
console.log(`number:${number}`)

 

在这个例子中,Test类包含了一个静态方法 testStatic,可以直接通过类名调用。

 

总的来说,ES6 的类提供了一种更加清晰和易用的面向对象编程方式,使得 JavaScript 更加灵活和可维护。通过类的定义、继承和静态方法,我们可以更好地组织和管理代码,提高代码的复用性和可读性。

 

posted on 2024-02-21 15:19  萬事順意  阅读(2)  评论(0编辑  收藏  举报