ES6常用特性(个人总结)

ES6一些常用的语法有:

  • let, const                            申明变量

  • class, extends, super         类、面向对象

  • arrow functions                 箭头函数

  • template string                  `` 模版字符串

  • destructuring                     解析赋值

  • default, rest                       默认值、参数

  • module                               模块化

1. let, const

        let、const作用和var类似,都是声明一个变量的。 var会变量提升,let不会,且let为块级作用域。 const声明的变量是常量,一旦声明后就不可改变,如果改变的话浏览器会报错。

2. class, extends, super

        上面代码首先用class定义了一个“类”,可以看到里面有一个constructor方法,这就是构造方法,而this关键字则代表实例对象。简单地说,constructor内定义的方法和属性是实例对象自己的,而constructor外定义的方法和属性则是所有实例对象可以共享的。 Class之间可以通过extends关键字实现继承,这比ES5的通过修改原型链实现继承,要清晰和方便很多。上面定义了一个Cat类,该类通过extends关键字,继承了Animal类的所有属性和方法。 super关键字,它指代父类的实例(即父类的this对象)。子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工。

        如果不调用super方法,子类就得不到this对象。

        ES6的继承机制,实质是先创造父类的实例对象this(所以必须先调用super方法),然后再用子类的构造函数修改this。

3. arrow function 箭头函数

表达式:(x,y,z)=>{函数}

    1、当传参仅1个的时候()可省略,例: x =>{}

    2、当函数内是个单行公式时{}可省略,例:x => x+1 ps:如果{}省略了,该function会自动return,上述内容为return x+1

4. template string `` 模版字符串

        `内容`,里面的变量可以用 ${变量名} 表示

5. destructuring 解析赋值

       ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构

7ee74cdabc301bce6873877c3aa3c1fcc34.jpg

6. default, rest 默认值、参数

        default很简单,意思就是默认值。大家可以看下面的例子,调用animal()方法时忘了传参数,传统的做法就是加上这一句type = type || 'cat'来指定默认值。 如果用ES6我们而已直接这么写:

30db6bb77527843ac2d164e62779989ee37.jpg

如果执行时忘了传参,那么cat为默认参,如果有参数则按type=参数来执行。

rest 省略符

6cb600c0d424c24621537bed6072398e0a7.jpg

7. ES6 module功能 import export

043313f4e1362120761cfcec17b2b63a556.jpg

注意,一个文档里只能存在一个export default 但是可以存在多个export,例如:

79bb3183412837808c1eeb3a6b96e0429d8.jpg

转载于:https://my.oschina.net/chendejie/blog/3074235

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值