![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6
文章平均质量分 90
夕山雨
前端的魅力,超乎你想象!
展开
-
前端如何优雅地使用枚举
在前端开发中我们经常遇到这样一种情况:假设我们要渲染一个订单列表,后端返回的数据中包含这样一个字段:// 订单状态orderStatus: 0后端可能会告诉我们,它对应后端的这样一组值:{ 0: '已完成', 1: '待支付', 2: '已取消'}那么我们在前端如何优雅地把后端所返回的值 0 转换成字符串 已完成 呢?这就是本文要讨论的问题。为了引出我们的方案,我们先来看一个常用但不那么优雅的方案:一种不够优雅的方案首先,我们来为这个字段定义一个对象const orde原创 2021-02-05 12:51:40 · 8171 阅读 · 6 评论 -
ES6之Class原理分析
目录一、概述二、class的实现1. 基本原理2. class语法规范(1). 取值函数(getter)和存值函数(setter)(2). 属性表达式(3). class表达式(4). this的指向三、class的继承1. 继承的概念2. 继承的基本原理3. 继承的相关语法(1). super关键字(2). 原生构造函数的继承总结一、概述遥想ES6刚刚问世时,不少曾经从事过后端开发的程序员都...原创 2020-01-12 19:37:19 · 1798 阅读 · 1 评论 -
ES6之Reflect和Proxy
目录一、Reflect1. 概述二、Proxy一、Reflect1. 概述设计Reflect主要有以下四个目的:将Object上属于语言内部的方法部署到Reflect,并且以后新增的语言内部方法只会部署到Reflect上。如Object.defineProperty在ES6中可以通过Reflect.defineProperty调用,并且前者在之后的版本中将不再被推荐。规范某些Objec...原创 2019-12-28 18:22:15 · 804 阅读 · 0 评论 -
ES6之Generator和async
目录一、概述二、Generator函数1. 基本原理2. 使用语法三、async函数一、概述Generator和async是ES6提供的新的异步解决方案。Generator函数可以理解为一个可以返回多个值的状态机,它的返回值是一个遍历器对象(Iterator),每次调用该遍历器的next方法就会输出一个值。当有多个异步逻辑需要按序执行时,只要在完成一个异步逻辑时调一次next方法即可。不过想...原创 2019-12-22 17:59:11 · 1030 阅读 · 0 评论 -
ES6之Set和Map
目录一、Set1. Set对象的构造2. Set的操作方法3. Set的遍历方法二、WeakSet三、Map1. Map的基本原理2. Map的操作方法3. Map的遍历方法4. Map与其他数据结构的转换(1) Map转为数组(2) 数组转为Map(3) Map转为对象(4) 对象转为Map(5) Map转为JSON(6) JSON转为Map四、WeakMap一、SetSet是ES6新增的一...原创 2019-12-15 17:12:46 · 821 阅读 · 0 评论 -
ES6之遍历器Iterator
目录什么是遍历器?什么是遍历器?在ES5中,我们最常使用的“集合”类数据结构主要是数组(Array)和普通对象(Object),ES6在此基础上新增了Map和Set。我们知道,这些“集合”类元素都是由一系列的成员构成的,那么一个非常常见的需求就是如何依次访问“集合”中的每一个成员。在ES5中,数组成员主要通过for循环或原型方法forEach等来遍历,而对象成员则没有方法直接遍历。ES6为数...原创 2019-12-08 17:50:48 · 1488 阅读 · 2 评论 -
ES6之Symbol详解
目录一、什么是Symbol?二、Symbol的作用三、Symbol的语法规范1. 基本语法2. Symbol属性的遍历3. Symbol.for(),Symbol.keyFor()四、内置的Symbol值1. Symbol.hasInstance2. Symbol.isConcatSpreadable3. Symbol.species4. Symbol.match/replace/search/...原创 2019-11-30 19:37:25 · 19247 阅读 · 10 评论