c语言中class用法,es6中的class使用

介绍

>生成实例对象,构造函数的另一种写法

>类的数据类型是函数,本身指向构造函数

>类的方法都定义在prototype上面,Object.assign方法可以一次向类添加多个方法

74c80a193a9c

>类的内部所有定义的方法,都是不可枚举的

>类的属性名可以采用表达式      [变量](){}

>内部是严格模式

>类的construtor方法是默认方法,默认返回实例对象(this)。可以指定返回其它

>类必须用new调用

74c80a193a9c

>class表达式

74c80a193a9c

如果内部使用可以省略ME

>不存在变量提升

>私有方法和私有属性

私有方法实现:

>在方法前加_(类的外部也可以调用)

>将方法移出模块,内部使用bar.call(this,baz)绑定

>利用Symbol值的唯一性,将私有方法的名字命为一个Symbol值

const bar=Symbol('baz')

>私有属性

>在属性名之前使用#表示

>私有属性可以有初始值

>this的指向

>默认指向类的实例,如果单独使用方法,可能报错

解决:

>构造方法中绑定this

74c80a193a9c

>箭头函数

74c80a193a9c

>proxy

>class的静态方法

在方法名前加上static关键字,该方法不被实例继承,直接通过类来调用。静态方法中this的指向是类,不是实例

74c80a193a9c

>class的继承

利用extends关键字

74c80a193a9c

使用了super方法,调用父类,这样this才是继承父类的this对象,子对象本是没有this对象的。如果不调用super方法,子类就得不到this对象。

74c80a193a9c

>Object.getPrototypeOf()

Object.getPrototypeOf() 可以用来从子类上获取父类,可以判断一个类是否继承了另一个类

>super()

>作为函数调用时,代表父类的构造函数,子类的构造函数必须调用一次super().super作为函数时,只能在子类的构造函数中使用,否则报错

74c80a193a9c

>super作为对象时,在普通方法中,指向父类的原型对象;在静态方法中,指向父类。

74c80a193a9c

74c80a193a9c

>super作为对象,用在静态方法之中,这时super将指向父类,而不是父类的原型对象。

74c80a193a9c

其它文章借鉴

注:整个文章为自己参考各种文档整理的笔记,如有问题还请多多指教。详情请见阮一峰es6详解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值