ES6 新特性

ES6 新特性_01

let 声明变量

let 用来声明变量,它的用法类似于 var,但是所声明的变量,只在 let 命令所在的代码块内有效。它有以下特点:

不会被声明提前,

不允许提前使用未声明的变量

添加块级作用域,

避免块内的变量影响外部

console.log(a);

输出:ReferenceError: a is not defined.

console.log(b);

输出:1

箭头函数

简化一切回调函数、匿名函数自调,以下几种情况都可以进行简化:

1.所有匿名函数(回调/自调)都可去 function,加 =>

2.如果参数只有一个,可继续省略 ()

3.如果函数体只有一句话,可省略 {},如果唯一的一句话是 return,可省略 return

var f=()=>5;

等同于

var f=function();

var sum=(num1)=>num1;

等同于

var sum=function(num1);

模板字符串

增强版的字符串,用反引号 ` 标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。需要注意:

1.用反引号 `` 包裹字符串模板,支持换行且不会和 "" 或 '' 冲突。

2.如果动态生成的内容或者 js 表达式,必须用 ${} 包裹。

普通字符串:

`In JavaScript '\n' is a line-feed.`

多行字符串:

`In JavaScript this is not legal.`

字符串中嵌入变量:

var name="Bob",time="today";

`Hello $, How are you $?`

解构

按照一定模式,从数组或对象中提取值,对多个变量进行赋值。有三种方式进行解构:

数组解构(下标对下标):

var date=[2018,6,19];

var [y,m,d]=date;

console.log(y,m,d);

输出:2018 6 19

对象解构(属性对属性):

var config={

ip:"xxx",

port:"xxx",

db:"xxx",

user:"root",

pwd:"123456"

}

var =config;

参数解构(原理同对象解构):

定义函数时:

function fun()

调用时:

fun()

fun()

for of

简化 for 循环,例如:

for(var p of products){

p 会依次取出 products 中的每个商品

}

promise

代替异步调用中的回调函数,避免产生回调地狱,当异步调用需要先后执行时,就使用 promise 函数,需要以下两步:

定义函数时:

function prev(){

return new promise(function(open)=>{

//封装原来任务的代码

//决定何时打开开关: open()

})

}

调用时:

prev().then(next)

next 一定会等待 prev 执行完,open() 后才能执行。

关注文教Crazy,持续更新,敬请期待!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180619G1EO2600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券