类出现让js更好的面向对象开发能更加语义化的实现类的继承
实际上:底层依旧是通过原型和原型链实现继承
类的基本使用(类不会变量提升)
class Person{
constructor(name){
this.name = name
}
}
let p1 = new Person('小明')
类的继承
class child extends Person{
constructor(name){
super(name)
}
}
类的静态方法、属性(只能由类本身调,构造函数无法调,能继承)
class Person{
static age = 18
constructor(name){
this.name = name
}
static run(){
console.log('这是静态方法只有类能调')
}
}
let p1 = new Person('小明')
p1.age//读取不到
类的私有方法、变量(只能类内部调用)
class Person{
#friend = '小红'
constructor(name){
this.name = name
}
#play(){
console.log('这是类的私有方法',this.#friend)
}
use(){
this.#play()
}
}
let p1 = new Person('小明')
p1.#friend//报错
p1.#play//报错
p1.use()//这是类的私有方法,小红
网友评论