ES6新特性 and ES7预览

ES6


变量

let 不能重复声明、块级作用域、可变

const 不能重复声明、块级作用域、不可变


箭头函数

()=>{}

// 如果有且仅有一个参数()可以省略
// 如果有且仅有return { } 可以省略

eg:

(a)=>{return a*2} 可简写为 a=>a*2

函数参数

剩余参数(rest parameter)

function fun(a, b, ...args) {

	// args为数组名随便取,接收剩余参数,必须在末尾

}

除接受剩余参数外…args还可以用于展开数组

args=[1,2,3];	
console.log(...args);	// ...args为1,2,3

默认参数

function fun(a, b=2) {

	// b有默认参数2
	
}

解构赋值(destrucuring declaration)

  1. 赋值语句左右数据结构一样即可
  2. 声明和赋值不能分开写
// 解构赋值
let [a, b, c] = [1, 2, 3]	// 数组
let {a, b, c} = {a:1, b:2, c:3}	// json

数组

map(function) 映射 1V1

arr.map(item=>item*2)	// 此处function为箭头函数(item)=>{return item*2}的简写

reduce(tmp, item, index) 汇总 nV1

tmp: 初始为arr[0],之后是上一次的return值; item:当前位arr值(从arr[1]开始),index:当前item的index

filter(function) 过滤器

通过function return boolean,function中就可以写一些过滤条件,boolean值为true时保留当前值,最终输出所有保留值数组

forEach(function) 循环/迭代


字符串

新增方法

str.startsWith(subStr)
str.endsWith(subStr)

字符串模板(返单引号``)

1 直接把各种符号包括各种空白(space、tab、enter)加到字符串,不需转义

2 直接 ${把变量之类的加进去}

a = "pig";
b = `<div>dlf is ${a}</div>`
console.log(b)

在这里插入图片描述


面向对象

多了class关键字

有了专门的构造器constructor,类和构造器分开了

方法不再用prototype外加


在这里插入图片描述


在这里插入图片描述

继承

新增extendssuper


在这里插入图片描述


在这里插入图片描述

Json

JSON的标准写法:1 只能用双引号;2 所有key都必须用引号包起来

JSON对象(es5.1就有了)

JSON.stringify(json) json转字符串

JSON.parse(str) 字符串转json,字符串本身必须符合json的标准写法

简写:1 key和value一样时可以只写key;2 json中的function可以直接写fun(){},不用再fun: function(){}

Promise
Promise.then(fun1对应resolve, fun2对应reject)
Promise.all([pro1, pro2, ...])
Promise.race([pro1, pro2, ...])	// 发送n个请求,只取最先返回的一个

在这里插入图片描述


generator

generator函数,整个函数被yield语句分成n段/n个小函数,调用时不会直接执行而是生成generator对象,调一次next()执行一段

function *fun() {	// 此处的fun只能是普通函数,不能是箭头函数)
	yield;
}

yield 传参、返回

yield可以接收next传的参数并返回,参数也可以直接跟在yield后

let 下一段函数的输入 = yield 这一段函数的输出;

在这里插入图片描述

generator实例-runner
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


ES7


数组

includes

keys、values、entries(key-value对)

for … of 循环迭代器–数组value

for … in 循环key–数组index


Math.pow()

**


字符串
padStart(位数, 补位符-默认为space)	// 	格式化位数,不够左边补
padEnd(位数, 补位符-默认为space)	// 格式化位数,不够右边补

async await

替代了 generator yield

  1. 不再依赖于外部的runner
  2. 可以用箭头函数了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值