let 块变量 作用域为块
const 常亮 作用域为当前块
解构赋值 例:var [x,y] = [1,2];
字符扩展
at
includes()
startsWith()
endsWith()
repeat()
codePointAt()
模板字符串 例:` ${x} + ${y} = ${x+y}`
正则的uiy
数值扩展
Number.isFinite()
Number.isNaN()
Number.isInteger()
Math.trunc()
Math.sign()
数学方法还扩展了一些正余弦等方法 但是不做复杂的算法都基本用不到
数组扩展
Array.from()
Array.of()
数组实例的find()和findIndex() 例:[1, 5, 10, 15].find();
数组实例的fill()
数组实例的entries(),keys()和values()
数组推导 例:var a1 = [1, 2, 3, 4]; var a2 = [for (i of a1) i * 2]; 替代以前的map以及filter
Array.observe(),Array.unobserve()
对象的扩展
字面量的定义
var lastWord = “last word”;
var a = {
[lastWord]: “world”
};
属性简写
function getPoint() {
var x = 1;
var y = 10;
var j = {
method(){…..}
}
return {x, y};
}
Object.is()
Object.assign() 添加属性以及方法、克隆、添加默认值
Object.getPrototypeOf()
Symbol
proxy 代理拦截
Object.observe(),Object.unobserve()
函数的扩展
function log(x, y = ‘World’) //函数参数默认值设置 后置
function log(x, …values) //rest参数 后置
扩展运算符 (…) 可用户拷贝 赋值等
箭头函数 inputs=>outputs
set和map
set :
function dedupe(array) {
return Array.from(new Set(array)); //set数据结构里数据时唯一的 array.from 将set转换为array
}
map:
var map = new Map([ [“name”, “张三”], [“title”, “Author”]]);
Iterator(遍历器) for…of
Generator 函数
Promise对象 Promise.resolve Promise.reject Promise.all Promise.then Promise.catch
类与module
extends
super
export和import
总结 :很多设计思想都与后端的设计思想靠近 这也是为了需要更好的前端扩展性以及更好前端封装的大型应用的需求 即使是小型项目为了开发的效率以及以后的维护 也建议使用ES6 浏览器厂商基本对ES6都支持的很好了 本人即将用reactjs + vuejs+es6写项目前端 特此学习 虽然属于后端团队 但是公司前端吃紧,想想去玩玩这些前端的东西也还是不错的。