ES6
-
let
①用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
②不存在变量提升(变量一定要在声明后使用,否则报错)
③如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错
④不允许重复声明 -
const
(并不是变量的值不得改动,而是变量指向的那个内存地址不得改动)
①声明一个只读的常量。一旦声明,常量的值就不能改变
②只在声明所在的块级作用域内有效。 -
解构
-
Symbol 一无二的值
-
Set
ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。
四个操作方法:
add(value):添加某个值,返回Set结构本身。
delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
has(value):返回一个布尔值,表示该值是否为Set的成员。
clear():清除所有成员,没有返回值
遍历的方法:
keys():返回一个键名的遍历器
values():返回一个键值的遍历器
entries():返回一个键值对的遍历器
forEach():使用回调函数遍历每个成员
set内部的元素可以遍历for...of... -
WeakSet
WeakSet和Set的区别:
WeakSet的成员只能是对象,而不能是其他类型的值
WeakSet中的对象都是弱引用,即垃圾回收机制不考虑WeakSet对该对象的引用,也就是说,如果其他对象都不再引用该对象,那么垃圾回收机制会自动回收该对象所占用的内存,不考虑该对象还存在于WeakSet之中。这个特点意味着,无法引用WeakSet的成员,因此WeakSet是不可遍历的。 -
map
遍历方法:keys()、values()、entries()、forEach() -
WeakMap
-
Iterator遍历器.它是一种接口,为各种不同的数据结构提供统一的访问机制
-
Generator
普通函数只可以return一次,而生成器函数可以yield多次(当然也可以只yield一次)。在生成器的执行过程中,遇到yield表达式立即暂停,后续可恢复执行状态。 -
Promise
-
async
-
class
-
proxy
-
Decorator
-
model
-
二进制数组
-
Array.find()和findIndex()
find() 函数用来依次查找目标元素,找到就返回该元素,找不到返回undefined。
findIndex() 返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。 -
Object.is(value1, value2);
多数情况下Object.is等价于“===”
推荐阅读:
http://www.cnblogs.com/-simon/p/5940518.html
浅谈JavaScript、ES5、ES6
http://es6.ruanyifeng.com/#docs/intro
迷你书所属 深入浅出ES6
JavaScript
http://www.hubwiz.com/course/5359f6f6ec7452081a7873d8/