ES6 教程
-
5.3 ES6 async 函数
asyncasync 是 ES7 才有的与异步操作有关的关键字,和 Promise , Generator 有很大关联的。语法async function name([param[, param[, ... param]]]) { statements }name: 函数名称。param: 要传递给函数的参数的名称。statements: 函数体语句。返回值async 函数返回一个 Promise 对象,可以使用 then 方法添加回调...
-
5.2 ES6 Generator 函数
ES6 新引入了 Generator 函数,可以通过 yield 关键字,把函数的执行流挂起,为改变执行流程提供了可能,从而为异步编程提供解决方案。 基本用法Generator 函数组成Generator 有两个区分于普通函数的部分:一是在 function 后面,函数名之前有个 * ;函数内部有 yield 表达式。其中 * 用来表示函数为 Generator 函数,yield 用来定义函数内部的状态。function* func(){ console.log("one"); yield...
-
5.1 ES6 Promise 对象
概述是异步编程的一种解决方案。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 状态状态的特点Promise 异步操作有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。除了异步操作的结果,任何其他操作都无法改变这个状态。Promise 对象只有:从 pending 变为 fulfilled 和从 pending 变为 rejected 的状态改变。只要处于 fulfilled 和 rejected ,状态就不会再变了即 resolve...
-
4.4 ES6 模块
概述在 ES6 前, 实现模块化使用的是 RequireJS 或者 seaJS(分别是基于 AMD 规范的模块化库, 和基于 CMD 规范的模块化库)。ES6 引入了模块化,其设计思想是在编译时就能确定模块的依赖关系,以及输入和输出的变量。ES6 的模块化分为导出(export) @与导入(import)两个模块。特点ES6 的模块自动开启严格模式,不管你有没有在模块头部加上 use strict;。模块中可以导入和导出各种类型的变量,如函数,对象,字符串,数字,布尔值,类等。每个模块都有自己...
-
4.3 ES6 Class 类
概述在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类。class 的本质是 function。它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。基础用法类定义类表达式可以为匿名或命名。// 匿名类let Example = class { constructor(a) { this.a = a; }}// 命名类let Example = cl...
-
4.2 ES6 迭代器
IteratorIterator 是 ES6 引入的一种新的遍历机制,迭代器有两个核心概念:迭代器是一个统一的接口,它的作用是使各种数据结构可被便捷的访问,它是通过一个键为Symbol.iterator 的方法来实现。迭代器是用于遍历数据结构元素的指针(如数据库中的游标)。迭代过程迭代的过程如下:通过 Symbol.iterator 创建一个迭代器,指向当前数据结构的起始位置随后通过 next 方法进行向下迭代指向下一个位置, next 方法会返回当前位置的对象,对象包含了 value 和 done 两个属性, v...
-
4.1 ES6 函数
函数参数的扩展默认参数基本用法function fn(name,age=17){ console.log(name+","+age);}fn("Amy",18); // Amy,18fn("Amy",""); // Amy,fn("Amy"); // Amy,17注意点:使用函数默认参数时,不允许有同名参数。// 不报错function fn(name,name...
-
3.2.4 ES6 数组
数组创建Array.of()将参数中所有值作为元素形成数组。console.log(Array.of(1, 2, 3, 4)); // [1, 2, 3, 4] // 参数值可为不同类型console.log(Array.of(1, '2', true)); // [1, '2', true] // 参数为空时返回空数组console.log(Array.of()); // []Array.from()将类数组对象或可迭代对象转化为数组。// 参数为数组,返回与原数组一样的数...
-
3.2.3 ES6 对象
对象字面量属性的简洁表示法ES6允许对象的属性直接写变量,这时候属性名是变量名,属性值是变量值。const age = 12;const name = "Amy";const person = {age, name};person //{age: 12, name: "Amy"}//等同于const person = {age: age, name: name}方法名也可以简写const person = { sayHi(){ ...
-
3.2.2 ES6 数值
数值的表示二进制表示法新写法: 前缀 0b 或 0B 。console.log(0b11 === 3); // trueconsole.log(0B11 === 3); // true八进制表示法新写法: 前缀 0o 或 0O 。console.log(0o11 === 9); // trueconsole.log(0O11 === 9); // true常...
最新留言
说:赞
2017-07-18 11:13:26说:您好,您的网站做的很不错,很漂亮,我已经收藏了,方便我随时访问.
2017-07-18 11:12:59说:很好的文章 谢谢分享 三利达正品 QQ736233302 www.fengjianqq.com
2016-04-11 10:17:28说:没有实训过 只学过理论 发生事故时 一般都派不上用场
2016-04-02 22:10:40说:get到了这个应急措施。谢谢。
2016-03-28 10:50:50说:好像不错
2016-03-10 10:15:30说:来学习了,踩一踩,留下我的脚印。
2016-02-14 20:54:59说:原来还有这样的意思,啊哈哈
2015-12-25 15:06:41