ES6-类和类的实例

 

两种定义方式: 类声明和类表达式. 都不能进行变量提升

构造函数:

        每次创建都会调用constructor
        使用new吗调用constructor, 默认返回this, 如果返回其他值, 则跟实例没有关联(即用person1 instanceof Person结果是false)
        调用new时: this指向新创建的实例. 实例的prototype指向类的prototype

 1.类是一种特殊的函数

class classA{}
typeof classA 
// 'function'

2.类标识符有protorype属性

 classA = classA.prototype.constructor

3.类是一等公民, 可以在数组中定义, 也可以当做函数参数传递

 实例

// 补充: 使用new关键字,会默调用constructor,  返回一哥object对象

1.实例之间独立, 实例A!=实例B

2.方法的定义

// 补充: 实例方法等同于对象的属性

[''a'+b]() {}

3.类的静态方法

// 补充: 类的静态方法只能有一个

class classA{

        static method() {} 

        method1()

        method2()

}

4.在类外添加静态方法和原型链方法的方法

classA.method()

classA.prototype.method1()

5.继承

extents关键字来实现继承

super相当于classA.constructor, 会调用父类的构造方法, 并将返回值传递给this

this instanceof classA  // true

classB extends classA{
    constructor(){
        console.log(this)
        super
    }
}

// 代码会报错, 在调用super之前不能使用this

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值