ES6系列
很菜的前端
专业摸鱼
展开
-
【ES6系列】Promise
什么是 Promise Promise 是异步编程的一种解决方案。所谓 promise,从语法上看是一个对象,里面保存着未来某个时刻才会结束的事件的结果。promise 对象有以下两个特点: 对象的状态不受外界影响。promise 对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功) 和 rejected(已失败)。 只有异步操作的结果才可以决定当前具体是哪种...原创 2020-03-12 01:36:19 · 180 阅读 · 0 评论 -
【ES6系列】Reflect
概述 Reflect 是为了操作对象而提供的 API,它的设计目的有以下几个。 将 Object 上一些属于语言内部的方法 (比如 Object.defineProperty)放在 Reflect 对象上。现阶段,某些方法同时在 Object 和 Relfect 对象上部署,未来的新方法将只部署在 Reflect 对象上。 修改某些 Object 方法的返回结果,让其更加完善。比如,Object...原创 2020-02-26 10:29:01 · 286 阅读 · 0 评论 -
【ES6系列】Proxy
一、概述 Proxy 从字面意思可以理解为 “代理”,用于修改某些操作的默认行为,等同于在语言层面做出修改。通过代理可以在目标对象之前架设一层 “拦截” ,外界对该对象的访问都必须通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。 var obj = new Proxy({}, { get: function (target, propKey, receiver) { ...原创 2020-02-25 15:40:57 · 265 阅读 · 0 评论 -
【ES6系列】详解ES6中的Map
一、含义和基本用法 Map 类似于对象,都用于存储 key-value 结构的数据。但是,在传统的对象上,只能用字符串或者 symbol 来作为键名。然而,Map 与对象最大的差别就在于它可以各种数据类型作为键名。 Map 是一个构造函数,用于实例化实例。 const m = new Map() const o = {name:"jonas"} m.set(o, 'content') m.get...原创 2020-02-25 12:44:33 · 3525 阅读 · 2 评论 -
【ES6系列】详解ES6中的Set
一、基本用法 Set 是 ES6 提供的一种新的数据结构,它跟数组一样用于存储有序的数据,但是没有随机访问的能力,也就是说,不能像数组一样通过索引来获取具体的某个元素。除此以外,最重要的是,Set 中的元素具有唯一性,不允许存储相同的元素! Set 是一个构造函数,用于实例化实例: let set = new Set() set.add(1)//往set集合中添加元素1 除此以外,Set() 可...原创 2020-02-24 16:45:00 · 1487 阅读 · 0 评论 -
【ES6系列】Iterator
在 ES5 中,主要的数据容器有两种:数组和对象。后来,ES6 新增了 Set 和 Map ,这样一来,就有四种容器集合。开发者可以组合使用他们,比如数组的元素是 Map,Map 的成员是对象。这样的多层次使用不同的数据容器就会带来一个问题:没有一个统一的方法可以取出各种容器的数据。所以,这时候就需要有一种统一的访问机制来处理所有不同的数据结构。 然而,遍历器 Iterator 正是这样的机制。它...原创 2019-10-23 09:07:13 · 170 阅读 · 0 评论 -
【ES6系列】 var、let、const 三个关键字
在 ES5 中,我们使用关键字 var 声明变量。但是,随着这门语言的发展,以及业务需求的不断改进,var 这个老家伙似乎存在不少问题,比如:变量提升,没有块级作用域等等。所以,在 ES6 中新增了 let 、const 两个关键字来解决这些问题。 变量提升 var 关键字带来的问题之一就是变量提升。 在讨论变量提升之前,先考虑一个问题:我们写的 js 代码或者说脚本如何被解释器解释的呢? 在...原创 2019-10-22 08:44:10 · 302 阅读 · 0 评论