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 语言规范的最新版本,而且好多新特性数都是开箱即用的。这些新特性包括

  1. ‘use strict‘ :避免javascript上的一些陷阱,严格模式比非严格模式更加迅速,禁用了一些未来可能的语法
  2. let : var 不具备块级作用于的功能,只能用于函数内, let具有块级作用的功能如 {}
  3. const : 常量声明,作用于同let一样,其值不在变化

类:

  1. class : 类声明 class foo(){constructor(){}}, var f = new foo()
  2. 类表达式 : 匿名类表达式,var ploygon = class {},命名类表达式,var ploygon =class ploypon(){}
  3. static : 静态方法,var ploygon = class{constructor(){},static fn(){}},只能对象调用
  4. extends : 创建继承于某个类的子类 class a extends b{}

map:

  1. map : var m = new map([[键,值],[键,值]],...),存储键/值对,有size,set,get,has,delete,clear方法
  2. map便历方法 : keys遍历所有的键,values遍历所有的值,entries遍历所有的键值,forEach(function(){})遍历所有的键值
  3. for(var i of s) : 遍历s对象所有的值,for(var [x,y] of s)遍历s对象所有的键值
  4. for(var i in s) : 遍历s对象所有的键
  5. WeakMap : 以对象作为键,只有get,set,delete,has方法
  6. Set : 一种新的数据结构,类似数据,不会存贮重复的值,不会做类型装换及5,‘5‘是两个不同的值,有add,delete,clear,has方法,有constructor,size属性
  7. Set遍历方法 :keys,values,entries,forEach
  8. WeakSet : 只能存放对象只有add,delete,has方法没有size,constructor属性

Generator:

  1. generator : (状态机),有两个特征1,function* fn(){}表示generator  2,大括号{}内用yield = ‘‘表示内容 。有next方法返回一个对象返回一个对象属性value表示yield表示的值,done表示是否迭代完毕,false表示还没完,true表示已经迭代完毕
  2. yield* : 用于generator内部嵌套一个generator,function* fin(){yield ‘hello‘,return },function* fout(){yield* fin}

Promise:

  1. promise : 用来处理异步操作,有两个特点 1:有三种状态 Pending(进行中),Resolved(以结束,又称为Fulfilled),Rejected(未完成,以失败),三种状态只能异步操作才能打断 2:只有两种变化从Pending到Resolved和Pending到Rejected,并且变化一旦发生就不能更改了
  2. 基本用法 : 写法比较固定,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的示意图。
  3. then方法返回promise对象,所以可以进行链式调用
  4. catch方法只有当Pending->Rejected的时候才返回一个promise对象,才可进行链式调用,通过throw抛出异常后再调用catch
  5. all方法参数可以是数组或者含有iterator接口的数据结构,成员都是Promise的实例,只有到所有的成员都返回Resolved状态的时候(类似于与门),all才返回Resolved否则返回Rejected
  6. race方法参数同all方法一样,返回最新状态变化的那个成员(不管是从Pending->Resolved,还是Pending->Rejected),改成员时promise对象(类似于或门)
  7. reject方法,参数为reason返回一个promise对象
  8. resolve方法,参数value,可以用then方法跟随者个value

Symbol :

  1. 添加一种数据类型Symbol,原有的javascript数据类型有6种:Undefined,Null,Object,Boolean,String,Number
时间: 2024-12-21 12:46:41

ES 6的相关文章

Android音频开发(6):使用 OpenSL ES API(上)

前面几篇文章介绍了如何在 Java 层,利用 Android 提供的 AudioRecord 采集音频,利用 AudioTrack 播放音频,利用 MediaCodec 来编解码,这些 API 均是 Android 提供的 Java 层 API,无论是采集.播放还是编解码,这些 API 接口都需要将音频数据从 Java 拷贝到 native 层,或者从 native 层拷贝到 Java,如果希望减少拷贝,开发更加高效的 Android 音频应用,则建议使用 Android NDK 提供的 Ope

ES学习2

1:es中的分页 一般搜索引擎中的分页都不会提供很大的页面查询,因为查询的页码越大,查询效率越低. 例子: 我们就先预想一下我们在搜索一个拥有5个主分片的索引.当我们请求第一页搜索的时 候,每个分片产生自己前十名,然后将它们返回给请求节点,然后这个节点会将50条 结果重新排序以产生最终的前十名. 现在想想一下我们想获得第1,000页,也就是第10,001到第10,010条结果,与之前同理, 每一个分片都会先产生自己的前10,010名,然后请求节点统一处理这50,050条结果 ,然后再丢弃掉其中的

android opengl es 源码

[转自:http://blog.csdn.net/happyhell/article/details/6086973] The entire OpenGL ES API on Android is implemented in three libraries, located under /system/lib (for more information about OpenGL ES visit the official Khronos page): * libEGL.so: implemen

Android OpenGL ES

1.Android OpenGL ES 简明开发教程3D 坐标变换: http://www.linuxidc.com/Linux/2011-10/45756p4.htm

OpenGL ES编程入门资源集合

OpenGL ES 2.0中文手册:http://www.dreamingwish.com/articlelist/category/opengl-es-api 里边讲解了部分API的功能,作为基本的参考. OpenGL ES2.0 渲染管线:http://codingnow.cn/opengles/1504.html OpenGL ES2.0 绘制三角形:http://codingnow.cn/opengles/1514.html 一个OpenGL ES2.0的例子:http://blog.c

[Java] ES获取数据部分字段值

在ES中如何获取部分字段值,在默认情况下,ES搜索出来是source的全部字段,但有时候我们并不想获取全部字段数据,比如在开发中,我们的index中有几十个字段,每天好几十G的数据,全部返回量太大. 要获取指定字段的数据有两种方式, 1.使用默认方式查找出source所有数据,然后根据指定field进行过滤重组数据. 2.使用addField(fields)方式请求数据,然后利用getFields方式获取结果数据. 这里列出第二种方式的获取数据方式. //设置请求 SearchResponse 

Android OpenGL ES零基础系列(一):理解GLSurfaceView,GLSurfaceView.Render的基本用法

转载请注明出处 前言 OpenGL ES是OpenGL的一个子集,是针对手机.PDA和游戏主机等嵌入式设备而设计的.该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准. 因此OpenGL ES作为第三方库被应用在android中. 到目前为止,OpenGL ES已经发展有了3个版本,OpenGL ES 1.0 , OpenGL ES 2.0 , OpenGL ES 3.0.其中OpenGL ES 1.0 是以OpenGL 1.3

脚本加密http://www.datsi.fi.upm.es/~frosal/sources/

shc的官网下载地址: http://www.datsi.fi.upm.es/~frosal/sources/ 安装: 复制代码 代码如下: tar xzvf shc-3.8.6.tgz cd shc-3.8.6 mkdir -p /usr/local/man/man1 这步是必须的,不然安装过程中会报错,shc将安装命令到/usr/local/bin/目录下: 将帮助文档存放在/usr/local/man/man1/目录下,如果系统中无此目录,安装时会报错,可创建此目录后再执行安装. 安装:

ES mapping设置

ES设置mapping的方法 Mapping就是对索引库中索引的字段名及其数据类型进行定义,类似于关系数据库中表建立时要定义字段名及其数据类型,ES有默认的mapping,如果要自定义其分词器.是否分词.是否存储等可以对其进行mapping设置. 1:配置文件设置方法 在ES安装文件的config/mappings的目录下新建index_name.json(index_name是要建立的索引名称) 配置文件示例如下 { "mappings":{ "properties&quo

es问题汇总

夜行侠老师视频教学:es问题汇总http://www.itjoin.org/1.如何防止索引被删除(权限控制)2.搜索的精准性控制3.解决搜索中英文数字混合4.搜索中in查询5.安装问题6.es源码内部是如何做到插件化扩展7.统计时展示不全8.搜索条件过多,内容过长报错9.索引某一字段内容太大10.自动补全设计11.es的分布式如何实现RPC底层12.es的分片机制13.head插件的使用14.es分片和副本级的是原理15.如何做到只更新部分数据16.数组在index中如何制定17.es搜索结果