
ES6
文章平均质量分 70
鱼小落
搬运工一枚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
async函数
基本概念async 函数是什么?一句话,它就是 Generator 函数的语法糖。将上一章的代码改成 async 函数的版本:const { promisify } = require("util");const path = require('path')const file1 = path.join(__dirname, './text/1.txt')const file2 = path.join(__dirname, './text/2.txt')const readFileP = pr原创 2021-01-13 14:46:17 · 455 阅读 · 0 评论 -
Generator函数
基本概念Generator(生成器) 函数是 ES6 提供的一种异步编程解决方案,并且Generator函数的行为与传统函数完全不同。定义Generator函数function* f() { }形式上,Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部可以使用yield关键字,定义不同的内部状态(yield在英语里的意思就是“产出”)。执行Generator函数执行 Generator 函数,函数本身不会执行,原创 2021-01-12 17:38:58 · 122 阅读 · 0 评论 -
Iterator
Iterator(遍历器、迭代器) 是一个对象,Iterator对象需要包含一个next方法,该方法返回一个对象,此对象有两个属性,一个value表示当前结果,一个done表示是否可以继续迭代let it = makeIterator();function makeIterator() { let nextIndex = 0; return { next: function() { return nextIndex < 5 ? {value: nextIn原创 2021-01-12 14:41:22 · 125 阅读 · 0 评论 -
Reflect
Reflect是 ES6 为了操作对象而提供的新 API。ES6把原先版本中很多语言层面的API,比如Object.defineProperty delete in等集中在了Reflect的静态方法上,引入Reflect的目的有这样几个。(1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object和Reflect对象上部署,未来的新方法将只部署在Reflect对象上。也就是说,从Reflect对象上可原创 2021-01-12 14:18:53 · 107 阅读 · 0 评论 -
Proxy
在ES6之前Object.defineProperty可以拦截对象属性的读取和修改操作,Proxy 可以理解成比这个API更强大的,在目标对象之前架设一层的“拦截”。外界对该Proxy对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。注意:只有对生成的 Proxy 实例操作才能起到拦截的作用生成Proxy实例:var proxy = new Proxy(target, handl原创 2021-01-12 13:00:16 · 7646 阅读 · 0 评论 -
Set和WeakSet,Map和WeakMap
Set和WeakSet1.1 SetES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。需要记录不同成员的又不希望重复记录的情况下可以用到Set如何生成Set:let set1 = new Set()let set2 = new Set([1,2,3])Set 实例的属性:Set.prototype.size:返回Set实例的成员总数。Set 实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)。四个操作方法:Set.pro原创 2021-01-12 12:21:30 · 213 阅读 · 0 评论 -
Symbol
1.1 概述表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、Boolean、String、Number、Object注意 Symbol函数前不能使用new命令,否则会报错。Symbol函数可以接受一个字符串作为参数,表示对 Symbol 的描述,主要是为了在控制台显示,或者转为字符串时,比较容易区分。let s1 = Symbol('foo');let s2 = Symbol('bar');s1 // Symbol(foo)s2 /原创 2021-01-11 17:04:08 · 181 阅读 · 0 评论