ES6中的类和对象

语法格式

  • 创建类:
    class 类名 {}

  • 创建实例:
    var xx = new 类名()
    类的构造函数:constructor
    class 类名 { constructor (xx) { this.xx = xx } // 只要new实例,就会自动调用这个函数,this指实例对象 }

  • 类的方法:
    class 类名 { 方法名 () {} }

  • 类的继承:子类可以继承父类的一切属性和方法
    class A {} class B extends B {}

  • super关键字
    调用父类的构造函数super()和普通函数super.父类函数()

  • 注意:

  1. 类没有变量提升,必须先定义类,再通过类实例化对象
  2. 类里面共有的属性和方法一定要加this使用
  3. this指向:在构造函数中,this指向创建实例的对象,在方法中,this指向调用该方法的调用者

类与对象demo

class User{
    constructor(name, password) { // 在构造函数中,this指向创建实例的对象
        this.name = name
        this.password = password
        this.login()
    }
    login(){
        // 在方法中,this指向调用该方法的调用者
        console.log(this.name + ' 登录')
    }
    logout(){
        console.log(this.name + ' 退出')
    }
    changePass(){
        console.log(this.name + ' 修改密码')
    }
}
// 实例化对象
const user = new User('macy', '123')
user.logout()

继承demo

class Student extends User{
    constructor(name,password){
        // super用于调用父类构造函数
        super(name,password)
        this.name = name
    }
    eat(){
        console.log(this.name + '---')
        // super用于调父类方法
        super.changePass()
    }
}
const stu = new Student('itmacy', '123')
// 调用自身方法
stu.eat()
// 调用父类方法
stu.logout()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值