首页 > 代码库 > ES 6
ES 6
简介
Node v4这个版本是Node和iojs合并后发布的首个稳定版本,并且为开发者带来了大量的ES6语言扩展。了解 Node.js中包括的ES6语言扩展。本课将会为你介绍如何使用这些新特性。
Node.js 4.0.0 可以让您享受最尖端的技术,保持项目的先进性。其中对 v8 的升级几乎做到了与 Chromium / Google Chrome 同步,达到了 4.5.x,它提供了很多新的语言功能。ECMA-262 是 JavaScript 语言规范的最新版本,而且好多新特性数都是开箱即用的。这些新特性包括
- ‘use strict‘ :避免javascript上的一些陷阱,严格模式比非严格模式更加迅速,禁用了一些未来可能的语法
- let : var 不具备块级作用于的功能,只能用于函数内, let具有块级作用的功能如 {}
- const : 常量声明,作用于同let一样,其值不在变化
类:
- class : 类声明 class foo(){constructor(){}}, var f = new foo()
- 类表达式 : 匿名类表达式,var ploygon = class {},命名类表达式,var ploygon =class ploypon(){}
- static : 静态方法,var ploygon = class{constructor(){},static fn(){}},只能对象调用
- extends : 创建继承于某个类的子类 class a extends b{}
map:
- map : var m = new map([[键,值],[键,值]],...),存储键/值对,有size,set,get,has,delete,clear方法
- map便历方法 : keys遍历所有的键,values遍历所有的值,entries遍历所有的键值,forEach(function(){})遍历所有的键值
- for(var i of s) : 遍历s对象所有的值,for(var [x,y] of s)遍历s对象所有的键值
- for(var i in s) : 遍历s对象所有的键
- WeakMap : 以对象作为键,只有get,set,delete,has方法
- Set : 一种新的数据结构,类似数据,不会存贮重复的值,不会做类型装换及5,‘5‘是两个不同的值,有add,delete,clear,has方法,有constructor,size属性
- Set遍历方法 :keys,values,entries,forEach
- WeakSet : 只能存放对象只有add,delete,has方法没有size,constructor属性
Generator:
- generator : (状态机),有两个特征1,function* fn(){}表示generator 2,大括号{}内用yield = ‘‘表示内容 。有next方法返回一个对象返回一个对象属性value表示yield表示的值,done表示是否迭代完毕,false表示还没完,true表示已经迭代完毕
- yield* : 用于generator内部嵌套一个generator,function* fin(){yield ‘hello‘,return },function* fout(){yield* fin}
Promise:
- promise : 用来处理异步操作,有两个特点 1:有三种状态 Pending(进行中),Resolved(以结束,又称为Fulfilled),Rejected(未完成,以失败),三种状态只能异步操作才能打断 2:只有两种变化从Pending到Resolved和Pending到Rejected,并且变化一旦发生就不能更改了
- 基本用法 : 写法比较固定,var p = new Promise(function(resolved,reject){/*some code*/ if(true){resolved(‘string‘)}else{rejected(‘string‘)}}),有个then方法p.then(successedfunction,filedFunction)两个回调函数参数1表示Pending->Resolved后调用,参数2Pending->Rejected后调用,方法catch的示意图。
- then方法返回promise对象,所以可以进行链式调用
- catch方法只有当Pending->Rejected的时候才返回一个promise对象,才可进行链式调用,通过throw抛出异常后再调用catch
- all方法参数可以是数组或者含有iterator接口的数据结构,成员都是Promise的实例,只有到所有的成员都返回Resolved状态的时候(类似于与门),all才返回Resolved否则返回Rejected
- race方法参数同all方法一样,返回最新状态变化的那个成员(不管是从Pending->Resolved,还是Pending->Rejected),改成员时promise对象(类似于或门)
- reject方法,参数为reason返回一个promise对象
- resolve方法,参数value,可以用then方法跟随者个value
Symbol :
- 添加一种数据类型Symbol,原有的javascript数据类型有6种:Undefined,Null,Object,Boolean,String,Number
ES 6
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。