ES6
文章平均质量分 81
DOM曼珠沙华
学如逆水行舟,不进则退
展开
-
es6中class类(还需完善)
es6中class类的全方面理解(一) - 简书 (jianshu.com)class的作用是通过class关键字,可以定义类。 ES6的class可以看作是一个语法糖,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已传统构造函数:原创 2021-08-23 15:06:01 · 176 阅读 · 0 评论 -
Es6 的Set、WeakSet数据结构
ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成 Set 数据结构。转载 2021-06-08 14:46:26 · 75 阅读 · 0 评论 -
ES6 async与Promise、Generator的比较
async与Promise、Generator的比较我们通过一个例子,来看 async 函数与 Promise、Generator 函数的比较。假定某个 DOM 元素上面,部署了一系列的动画,前一个动画结束,才能开始后一个。如果当中有一个动画出错,就不再往下执行,返回上一个成功执行的动画的返回值。首先是 Promise 的写法。function chainAnimationsPromise(elem, animations){ // 变量ret用来保存上一个动画的返回值 let ret转载 2020-05-17 16:07:25 · 249 阅读 · 0 评论 -
ES7 async/await函数
含义ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 函数是什么?一句话,它就是 Generator 函数的语法糖。const fs = require('fs');const readFile = function (fileName) { return new Promise(function (resolve, reject) { fs.readFile(fileName, function(error, data) { if转载 2020-05-17 14:34:06 · 383 阅读 · 0 评论 -
ES6的生成器 Generator
GeneratorGenerator函数是 ES6 提供的一种异步编程解决方案。简单来说:生成器函数就是一个带星号(*)的函数,生成器函数可以暂停,而普通函数则是默认一路到底执行代码,生成器函数在内部碰到 yield 就可以实现暂停功能,使用 next 进行迭代。function* g(){ yield 'a'; yield 'b'; return 'ending';}var gen = g();g()并不会立即执行函数,而是返回迭代器Iterator对象,必须调用遍历器对象的原创 2020-05-16 14:33:48 · 231 阅读 · 0 评论 -
ES6 函数的扩展
1.函数参数默认值函数的参数设置默认值时,直接在在参数定义的后面添加。function log(x, y = 'World') { console.log(x, y);}log('Hello') // Hello Worldlog('Hello', 'China') // Hello Chinalog('Hello', '') // HelloES6 的写法还有两个好处:首先,阅读代码的人,可以立刻意识到哪些参数是可以省略的,不用查看函数体或文档;其次,有利于将来的代码优化,即使转载 2020-05-13 23:15:30 · 188 阅读 · 0 评论 -
ES6 数值的扩展
1.二进制和八进制的表示法ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0OO)表示。0b111110111 === 503 // true0o767 === 503 // true从 ES5 开始,在严格模式之中,八进制就不再允许使用前缀0表示,ES6 进一步明确,要使用前缀0o表示。// 非严格模式(function(){ console.log(0o11 === 011);})() // true// 严格模式(function()转载 2020-05-13 11:58:38 · 219 阅读 · 0 评论 -
ES6 字符串新增的方法
字符串新增的方法1.String.fromcodePoint()可识别大于 0xFFFF的字符,弥补了String.formCharCode()方法的不足。在作用上,正好与下面的codePointAt()方法相反。String.fromCodePoint(0x20BB7)// "????"String.fromCodePoint(0x78, 0x1f680, 0x79) === 'x\uD83D\uDE80y'// true上面代码中,如果String.fromCodePoint方法转载 2020-05-12 19:12:34 · 304 阅读 · 0 评论 -
ES6 的字符串扩展:模板字符串
根据阮一峰大神的文章字符串扩展进行学习和理解的,之前看了没看懂,重新再看一下字符串扩展的有以下几点:字符的Unicode表示法 字符串遍历器接口 直接输入U+2028和U+2029 JSON.stringify()的改造 模板字符串这里只介绍字符串遍历器接口和模板字符串。字符串的遍历器接口ES6 为字符串添加了遍历器接口,使得字符串可以被for ...of循环遍历。for(let codePoint of 'foo'){ console.log(codePoin.转载 2020-05-12 11:13:34 · 511 阅读 · 0 评论 -
解构(Destructuring)赋值
在es5中我们进行相关赋值的时候,只能一个一个进行赋值,使用逗号的进行赋值也只是最右边的赋值 才生效。在es6中出现了赋值解构,分两种情况一个是数组解构,一个是对象解构赋值。这么好用的方法给我带来很多便利。在解构中有以下两部分参与:解构的源:解构赋值表达式的右边部分 解构的目标:解构赋值表达式的左边部分数组解构数组解构的几种类型://模式匹配 只要等号两边的模式相同,左边的变量就会被赋予对应的值let [a, b, c] = [1, 2, 3]; //可以从数组中提取值,按照对应原创 2020-05-10 22:27:39 · 206 阅读 · 0 评论 -
ES6 Set数据结构的使用
ES6 内 的数据结构Set特性:类似数组,但是它的最大特性就是所有元素都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构。const s = new Set();[2,3,3,5,6,7,7,4,3].forEach( x => s.add(x));for(let i of s){ console.log(i);}//2 3 5 6 7 4可以看到通过add()向Set结构内添加数据,返回的Set结构内无重复数据。Set函数可以接受一原创 2020-05-10 18:46:05 · 158 阅读 · 0 评论 -
箭头函数使用及不能使用箭头函数的情况
基本用法ES6允许使用“箭头”(=>)定义函数var f = v => v; //一个参数// 等同于var f = function (v) { return v;};如果箭头函数不需要参数或者需要多个参数,就用一个圆括号表示参数部分。var f = () => 5;// 等同于var f = function () { return 5 };var sum = (num1, num2) => num1 + num2;// 等同于var su转载 2020-05-08 18:03:45 · 3291 阅读 · 1 评论 -
Promise用法小结
定义:是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。可以按用途理解为:1.主要用于异步计算2.可以将异步操作队列化,按照期望的顺序执行,返回执行符合预期的结果。3.可以在对象之间传递和操作Promise,帮助我们...原创 2020-05-03 19:18:42 · 457 阅读 · 0 评论 -
ES6环境搭建
首先需要介绍一个ES6开发利器:Babel。Babel是一个编译器,负责将源代码转换成指定的语法的目标代码,可以使之很好的在运行环境中执行我们的代码。下面我们就来详细介绍这个神器,利用它来编译我们的ES6代码。Babel给我们提供了一个很方便的命令行工具:babel-cli,利用它我们可以在命令行中执行编译命令,我们只需使用npm来安装它即可:npm install -g babel-c...转载 2018-12-11 18:23:41 · 324 阅读 · 0 评论