ES6vsES5

es5:

1. strict模式

严格模式,限制一些用法,'use strict';

2. Array增加方法

增加了everysome forEachfilter indexOflastIndexOfisArraymapreducereduceRight方法

PS: 还有其他方法 Function.prototype.bindString.prototype.trimDate.now

3. Object方法

Object.getPrototypeOf

Object.create

Object.getOwnPropertyNames

Object.defineProperty

Object.getOwnPropertyDescriptor

Object.defineProperties

Object.keys

Object.preventExtensions / Object.isExtensible

Object.seal / Object.isSealed

Object.freeze / Object.isFrozen

Es6

ECMAScript6在保向下兼容的前提下,提供大量新特性

1.块级作用域 let, 常量const

2.对象字面量的属性赋值简写(property value shorthand

3.赋值解

4.函数参数 - 认值、参数打包、 展开(Default Rest Spread

5.函数 Arrow functions

6.字符串模板 Template strings

7. Iterators(迭代器)+ for..of

8.生成器 Generators

9.Class

Class,有constructorextendssuper,但本质上是语法糖(对语言的功能并没有影响,但是更方便程序员使用)。

10.Modules

ES6的内置模块功能借鉴了CommonJSAMD各自的优点:

(1).具有CommonJS的精简语法、唯一导出出口(single exports)和循环依赖(cyclic dependencies)的特点。

(2).类似AMD,支持异步加载和可配置的模块加载。

11.Map + Set + WeakMap + WeakSet

四种集合类型,WeakMapWeakSet作为属性键的对象如果没有别的变量在引用它们,则会被回收释放掉。

12.Math + Number + String + Array + Object APIs

13. Proxies

使用代理(Proxy)监听对象的操作,然后可以做一些相应事情。

14.Symbols

Symbol是一种基本类型。Symbol 通过调用symbol函数产生,它接收一个可选的名字参数,该函数返回的symbol是唯一的。

15.Promises

Promises是处理异步操作的对象,使用了 Promise 对象之后可以用一种链式调用的方式来组织代码,让代码更加直观(类似jQuerydeferred 对象)。

 

posted @ 2018-09-12 09:02  sun_桥北  阅读(104)  评论(0)    收藏  举报