Es6新增语法----class类

Es6新增语法----class类

			关于类有两个概念,1,类自身,;2,类的实例对象 

总的来说:静态的是指向类自身,而不是指向实例对象,主要是归属不同,这是静态属性的核心。

class中,用static修饰即为类(静态)方法(可直接类名访问),即在这个类(构造函数)对象本身身上的方法;实例方法,实例化对象身上的方法。两种挂在的内存区不一样;静态属性需要写在class外面,直接挂载到此类身上。
在这里插入图片描述

ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到
Es5和Es6相同点:

			类的数据类型就是函数,类本身就指向构造函数。
			在类的实例上调用方法,就是调用原型上的方法。

注意 :class 类的本质还是一个函数,类本身就指向构造函数。
若类的方法前加了static关键字,则该方法称为静态方法,反之为非静态方法。
静态方法的好处就是不用生成类的实例就可以直接调用。
在这里插入图片描述

通过二者的语法,不难发现如下特征:
在 es6中 class 类相当于es5中的function

且在es5中可以直接在构造函数中写this.属性名=属性值 给实例对象添加属性
而在es6中 需要在constructor 函数中写 this,属性名 = 属性值 给实例对象添加属性
在这里插入图片描述
总结:
定义“类”的方法时,不用加function关键字。
方法之间不要加逗号,加了会报错。
类中必须要有constructor方法,若没有显示定义,则一个空的会被添加。
类必须使用new调用。否则报错,这是类和构造函数的一个主要区别。
静态方法,实例对象不能直接访问。但是父类的静态方法,子类可以继承。
非静态方法,可以直接通过“实例对象.方法名”访问。
实例自身的属性,除非显示定义在this对象上,否则都是定义在原型上(即class上)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值