![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6
文章平均质量分 80
卡卡桃乐西
青山野火
展开
-
【ES6】async await异步操作解决方案
文章目录一、async/await二、用法详解1. 基本用法2. 异步操作3. 用于ajax请求总结一、async/awaitES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 函数是 Generator 函数的语法糖。async 函数就是将 Generator 函数的星号( * )替换成 async ,将 yield 替换成 await ,仅此而已。async 函数对 Generator 函数的改进,体现在以下四点:内置执行器。Generator 函数的执行必原创 2022-03-03 10:06:22 · 1055 阅读 · 0 评论 -
【ES6】Iterator迭代器
文章目录一、Iterator二、用法详解1. 基本用法2. 遍历不可迭代对象2.1 原生具备Iterator接口的数据结构:2.2 遍历不可迭代的对象:2.3 Generator 遍历不可迭代对象总结一、Iterator遍历器(Iterator)是一种接口机制,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。 Iterator 的作用有三个:为各种不同的数据结构提供一个统一的、简便的访问接口;使得数据结构原创 2022-03-02 17:49:33 · 682 阅读 · 0 评论 -
【ES6】异步编程Ajax、Callback Hell与Promise、Generator的完全指北
文章目录一、异步操作前置知识1. JS是单线程的2. 同步任务 异步任务3. Ajax原理4. Callback Hell二、Promise1. 原理2. Promise的用法 状态、改造回调深渊Callback Hell6. 改造Ajax请求 、Generator的用法 异步状态管理一、异步操作前置知识详细解释参看:JS运行机制详解 动图详解Event Loop1. JS是单线程的作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线原创 2022-03-02 15:32:54 · 1181 阅读 · 1 评论 -
【ES6】Reflect反射机制
文章目录一、Reflect概述二、用法详解1.Object -> Reflect2. 修改Object方法的返回结果3. 命令式操作->函数式操作4. 与Proxy对象的方法一一对象5. apply总结一、Reflect概述Reflect 对象与 Proxy 对象一样,也是 ES6 为了操作对象而提供的新 API。 Reflect 对象的设计目的及特点:将 Object 对象的一些明显属于语言内部的方法(比如 Object.defineProperty ),放到 Reflect对象上。原创 2022-03-01 14:16:45 · 383 阅读 · 1 评论 -
【ES6】Proxy代理
文章目录一、Proxy二、用法详解1.声明方式2. get钩子函数3. set钩子函数4. has5. ownKeys6. 基本方法综合应用7.apply8. construct总结一、ProxyProxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy原创 2022-03-01 10:57:56 · 491 阅读 · 0 评论 -
【ES6】Set 和 Map 数据结构
文章目录前言一、Set1. 用法详解1.1 声明方式1.2 遍历的四种方式2. 应用场景2.1 数组去重2.2 合并去重2.3交集2.4 差集3. WeakSet二、Map1. 用法详解1.1 声明方式1.2 遍历的四种方式2. 应用场景3. WeakMap总结前言Set 、 Map为ES6新增的数据结构。一、SetES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。1. 用法详解1.1 声明方式原创 2022-02-27 14:09:01 · 899 阅读 · 0 评论 -
【ES6】新增原始数据类型Symbol
文章目录前言一、Symbol是什么?二、声明方式1. Symbol 值通过 Symbol 函数生成。2. 接受一个字符串作为参数3. 以对象作为参数4. Symbol.for5. Symbol.keyFor三、应用场景1. 当有重名的情况2. 将某些属性保护起来总结前言ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就..原创 2022-02-26 17:58:32 · 716 阅读 · 0 评论 -
【ES6】类与对象与继承
文章目录前言一、类与对象?二、用法详解1.ES5中实现类与继承2. ES6中实现类与继承总结前言首先我们要了解什么是面向过程与面向对象:面向过程:以过程为中心的思想,编程的时候把解决问题的步骤分析出来,然后用函数把这些步骤实现,再一步一步的具体步骤中再按顺序调用函数。以做的步骤划分问题。面向对象:把事物分解成一个个对象,然后由对象之间分工与合作。它是以对象功能来划分问题,而不是步骤。特性:封装性、继承性、多态性JS是一种基于对象(object-based)的语言。是一种不完全面向对象..原创 2022-02-26 16:07:50 · 240 阅读 · 0 评论 -
【ES6】Object.assign方法与深浅拷贝
文章目录一、Object.assign二、用法详解1.Object.assign浅拷贝2. 实现深拷贝3. 自定义函数实现深拷贝总结一、Object.assignObject.assign 方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。Object.assign 方法的第一个参数是目标对象,后面的参数都是源对象。 注意,如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性。Object.assign 拷贝的属性是..原创 2022-02-26 13:57:19 · 2925 阅读 · 0 评论 -
【ES6】对象的扩展
文章目录一、对象的扩展二、用法详解1. 属性的简洁表示2. 属性名表达式3. Object.is()4. 扩展运算符与Object.assign()5. in6.对象的遍历方式一、对象的扩展属性的简洁表示法属性名表达式Object.is()扩展运算符与Object.assign()in对象的遍历方式二、用法详解1. 属性的简洁表示let name = 'kakaDorothy'let age = 20let s = 'school'let obj = {// ES5中需..原创 2022-02-26 10:46:25 · 1017 阅读 · 0 评论 -
【ES6】箭头函数
文章目录一、箭头函数是什么?二、用法详解1.箭头函数的参数2.箭头函数的函数体3.箭头函数与普通函数变量提升this的指向箭头函数不可以作构造函数不可以使用arguments对象总结一、箭头函数是什么?ES6 允许使用“箭头”( => )定义函数。let foo = v => v; // 上面的箭头函数等同于:let foo = function(v) { return v; }; 箭头函数(=>)的左边是参数,右边是函数体。二、用法详解1.箭头函数的参数当..原创 2022-02-25 18:46:00 · 1922 阅读 · 0 评论 -
【ES6】扩展运算符与rest参数
ES6系列文章目录ES6: 扩展运算符与rest参数文章目录ES6系列文章目录一、作用二、用法详解1.扩展运算符2.rest参数总结一、作用…可作为:扩展运算符:把数组或者类数组展开成用逗号隔开的值rest参数:把逗号隔开的值组合成一个数组二、用法详解1.扩展运算符1. 将数组展开成用逗号隔开的值:function foo(a, b, c) { console.log(a, b, c) } let arr = [1, 2, 3] foo(...arr) //若原创 2022-02-25 17:35:23 · 447 阅读 · 0 评论