ecmascript6
qiphon3650
成功需要努力,知识源于分享!
展开
-
sleep 函数 & 多个promise排序执行
sleep 函数 & 多个promise排序执行如何实现一个 sleep 函数?如何让多个promise按顺序执行?(不使用 await)const sleep = async (time) => { return new Promise((r) => { setTimeout(() => { r(time); }, time ?? 1000); });};console.log(1)await sleep(2000)cons原创 2021-08-25 10:40:08 · 234 阅读 · 0 评论 -
for await ... of
for await … ofconst simulateDelay = (val, delay) => new Promise((resolve) => setTimeout(() => resolve(val), delay));class RandomNumberGenerator { [Symbol.asyncIterator]() { return { next: async () => { return simulateDe转载 2020-09-25 10:56:51 · 997 阅读 · 0 评论 -
es6笔记·····fill()
数组实例的fill()fill方法使用给定值,填充一个数组。['a', 'b', 'c'].fill(7)// [7, 7, 7]new Array(3).fill(7)// [7, 7, 7]上面代码表明,fill方法用于空数组的初始化非常方便。数组中已有的元素,会被全部抹去。fill方法还可以接受第二个和第三个参数,用于指定填充的起始位置和结束位转载 2017-11-05 14:58:14 · 671 阅读 · 0 评论 -
es6笔记·····entries(),keys(),values()
数组实例的 entries(),keys() 和 values()ES6 提供三个新的方法——entries(),keys()和values()——用于遍历数组。它们都返回一个遍历器对象(详见《Iterator》一章),可以用for...of循环进行遍历,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。for (let转载 2017-11-05 15:17:35 · 672 阅读 · 0 评论 -
es6笔记·····includes()
数组实例的 includes()Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似。ES2016 引入了该方法。[1, 2, 3].includes(2) // true[1, 2, 3].includes(4) // false[1, 2, NaN].includes(NaN转载 2017-11-05 16:27:30 · 8377 阅读 · 0 评论 -
es6笔记·····数组的空位
数组的空位数组的空位指,数组的某一个位置没有任何值。比如,Array构造函数返回的数组都是空位。Array(3) // [, , ,]上面代码中,Array(3)返回一个具有3个空位的数组。注意,空位不是undefined,一个位置的值等于undefined,依然是有值的。空位是没有任何值,in运算符可以说明这一点。0 in [undefined, un转载 2017-11-05 17:01:21 · 797 阅读 · 0 评论 -
es6笔记·····ArrayBuffer
ArrayBufferArrayBuffer对象、TypedArray视图和DataView视图是 JavaScript 操作二进制数据的一个接口。这些对象早就存在,属于独立的规格(2011年2月发布),ES6 将它们纳入了 ECMAScript 规格,并且增加了新的方法。它们都是以数组的语法处理二进制数据,所以统称为二进制数组。这个接口的原始设计目的,与 WebGL 项目转载 2017-11-06 10:53:06 · 2383 阅读 · 0 评论 -
let 和 const 命令
let 命令基本用法ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。{ let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1上面代码在代码块之中,分别用let和var声明了两个变量。然后在代码块之外调用这两个变转载 2017-11-12 17:28:39 · 297 阅读 · 0 评论 -
es6笔记·····变量的解构赋值
本人es6笔记源自阮一峰es6入门,详细内容请关注阮一峰博客数组的解构赋值基本用法ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。以前,为变量赋值,只能直接指定值。let a = 1;let b = 2;let c = 3;ES6 允许写成下面这样。let [a, b, c] = [1,转载 2017-11-20 17:15:54 · 387 阅读 · 0 评论 -
es6基础笔记整理
const 不能重复声明 块级作用域 变量指针指向固定的内存不能修改 let 不能重复声明 块级作用域 变量可以修改箭头函数 1、如果只有一个参数()可以省略 2、如果只有一个return {} 可以省略 例 let arr = [1,3,4,2,5,23] ES5: arr.sort(function(){ ...原创 2017-11-29 23:21:53 · 325 阅读 · 0 评论 -
es6笔记·····find()和findIndex()
数组实例的 find() 和 findIndex()数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。[1, 4, -5, 10].find((n) => n 0)// -5上面代码找出数组中第一转载 2017-11-05 14:54:30 · 3376 阅读 · 0 评论 -
es6笔记·····copyWithin()
数组实例的 copyWithin()数组实例的copyWithin方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。Array.prototype.copyWithin(target, start = 0, end = this.length)它接受三个参数。target(必需)转载 2017-11-05 14:11:28 · 641 阅读 · 0 评论 -
es6笔记····Array.of()
Array.of()Array.of方法用于将一组值,转换为数组。Array.of(3, 11, 8) // [3,11,8]Array.of(3) // [3]Array.of(3).length // 1这个方法的主要目的,是弥补数组构造函数Array()的不足。因为参数个数的不同,会导致Array()的行为有差异。Array() // []转载 2017-11-05 12:55:45 · 384 阅读 · 0 评论 -
es6 (1)
ECMAScript的发展历程ECMA 标准的一种变体在 1997 年为该语言赢得了一定的信赖,但第一个主要的标准版本 ECMAScript 4 将社区一分为二。它通过一个谨慎的、勘误式的版本(ECMAScript 5,也称为 “Harmony”)重建了统一性的感觉。但在最近,JavaScript 扮演了一个回头浪子角色。在 Node.js 的支撑下,它成为了一种举足轻重的服务器端工具转载 2017-08-27 16:44:57 · 506 阅读 · 0 评论 -
es6(2)
第 2 部分专门介绍将改变您使用 JavaScript 中的函数的方式的语言更新。在这一部分中,我们将介绍函数定义和调用语法,您将进一步了解解构赋值(这一次在函数定义中)。我还将介绍新的箭头函数语法和生成器函数,后者给经典的迭代器和古老的for 循环带来了有趣的转机。函数声明中的解构JavaScript 的新解构赋值得名于数组或对象可以 “解构” 并提取出组成部分的概念。在 第 1转载 2017-08-27 16:46:11 · 436 阅读 · 0 评论 -
es6(3)
在 第 2 部分 中,您学习了 ECMAScript 6 中的函数增强,包括新的箭头和生成器函数。将函数元素集成到 JavaScript 代码中意味着要重新考虑某些因素,但变化没有您想象的那么大。事实上,在多年来提出的所有变化中,ECMAScript 6 中最有争议的新元素或许就是面向对象的元素。JavaScript 中一直缺少传统的基于类的语法,但 ECMAScript 6 改变了这种状转载 2017-08-27 16:47:20 · 335 阅读 · 0 评论 -
es6笔记·····Class
Class 的基本语法简介JavaScript 语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。function Point(x, y) { this.x = x; this.y = y;}Point.prototype.toString = function () { return '(' + this.x + ', ' + this.转载 2017-11-06 17:29:52 · 776 阅读 · 0 评论 -
es6笔记····数组的扩展
数组的扩展扩展运算符含义扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...[1, 2, 3])// 1 2 3console.log(1, ...[2, 3, 4], 5)// 1 2 3 4 5[...document.querySelectorAll('di转载 2017-11-02 17:37:00 · 698 阅读 · 0 评论 -
es6笔记·····编码风格
编程风格本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的、易于阅读和维护的代码。多家公司和组织已经公开了它们的风格规范,下面的内容主要参考了 Airbnb 公司的 JavaScript 风格规范。块级作用域(1)let 取代 varES6 提出了两个新的声明变量的命令:let和const。其转载 2017-11-12 15:14:31 · 309 阅读 · 0 评论 -
eslint
es6笔记 习自 阮一峰开源项目 ESLint的使用ESLint 是一个语法规则和代码风格的检查工具,可以用来保证写出语法正确、风格统一的代码。首先,安装 ESLint。$ npm i -g eslint然后,安装 Airbnb 语法规则,以及 import、a11y、react 插件。$ npm i -g eslint-conf转载 2017-11-12 15:20:34 · 34978 阅读 · 0 评论 -
babel
Babel 转码器Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行。这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是否支持。下面是一个例子。// 转码前input.map(item => item + 1);// 转码后input.map(function (item) { return item + 1;转载 2017-11-12 16:11:25 · 271 阅读 · 0 评论 -
Traceur 转码器
Traceur 转码器 § ⇧Google 公司的Traceur转码器,也可以将 ES6 代码转为 ES5 代码。直接插入网页Traceur 允许将 ES6 代码直接插入网页。首先,必须在网页头部加载 Traceur 库文件。 import './Greeter.js';上面代码中,一共有4个script标签。第一个是加载 Traceur 的库文件,第二个转载 2017-11-12 16:15:45 · 622 阅读 · 0 评论 -
es6笔记·····Array.from()
Array.from()Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。下面是一个类似数组的对象,Array.from将它转为真正的数组。let arrayLike = { '0': 'a', '1': 'b',转载 2017-11-02 21:20:41 · 539 阅读 · 0 评论 -
EcmaScript 6 箭头函数
// ES5 var total = values.reduce(function (a, b) { return a + b; }, 0); // ES6 var total = values.reduce((a, b) => a + b, 0);//箭头即一个函数的简化 // ES5 $("#confetti-btn").click(转载 2017-05-29 14:30:44 · 576 阅读 · 0 评论