class 类的用法

1.类的用法

JavaScript 语言中,生成实例对象的传统方法是通过构造函数,看下面的栗子
   // 构造函数的方法
function Person(name,age){
    this.name=name;
    this.age=age;
}
Person.prototype.run = function(){
    console.log(`可爱的${this.name},${this.age},在狂奔`)
}
let p = new Person('乔巴',2)

类的写法:
在ES6中,提出了类(class),可以更方便清晰地让我们创建实例
class Student{
    // 构造方法
    constructor(name,age){
        this.name=name;
        this.age=age;
    }
    // 实例方法
    run(){
         console.log(`一个${this.age}的小伙子在跑步`)
    }
}
let s = new Student('路飞',18)

2.类的静态成员(静态属性和静态方法)

class Student{
    
    // 构造方法
    constructor(name,age){
        this.name=name;
        this.age=age;
    }
    run(){
        // console.log(`一个${this.age}的小伙子在跑步`)
        console.log('实例方法')
        this.born()  //this指向的是实例的对象
    }
    born (){
        console.log('实例方法 出生')
       
    }
    //静态成员:静态属性,静态方法
    // 静态属性:通过类本身访问,Student.maxAge
    // 静态方法:通过类本身访问,Student.born()
    static born(){
        console.log('静态方法 出生')
    }
    static run(){
        console.log('静态方法')
        this.born() // this 执行类对象
    }
    // ss=1//报错
    // 类对象的方法和实例的方法名字可以相同
}
Student.maxAge = 200 //静态属性

Student.born()
let s = new Student('路飞',18)

注意:

1.静态方法就在方法前面添加static.
2.静态方法的名字可以与实例方法的名字相同
3.静态方法的this,指向的是类对象,实例方法的thi指向实例对象
4.静态方法的调用,类.静态方法名,
5.静态方法和静态属性,实例不会继承。
6.静态属性写法只能写在外面,写在类的里面会报错

你可能感兴趣的:(class 类的用法)