-
ES6+ Promise 进阶介绍
所属栏目:[教程] 日期:2023-03-28 热度:1175
前面我们已经学习了在 new Promise() 对象时执行器会提供两个回调函数,一个是 resolve 返回一个立即成功的 Promise,一个是 reject 返回一个立即失败的 Promise。在执行器中需要根据不同情况调 resolve 或 reject ,[详细]
-
ES6+ Promise 基础运用
所属栏目:[教程] 日期:2023-03-27 热度:5331
我们知道浏览器在渲染网页时,会创建一个渲染进程进行渲染页面,在渲染进程中其中有 GUI 渲染线程和 JS 引擎线程(如 V8 引擎)两个线程是互斥的。也就是说在同一时间内只能有一个线程执行。如果 JavaScript 执行一段[详细]
-
ES6+ 实现一个简版的 Promise介绍
所属栏目:[教程] 日期:2023-03-27 热度:8989
上一节我们学习了 ES6 Promise的基本用法,并且我们知道 Promise 最早出现在社区,所以ES6 中 Promise 也是遵循一个标准的规范的。这个规范就是 Promise A+ 规范 也就是任何人都可以遵循这个规范实现一个自己的 Prom[详细]
-
ES6+ 迭代协议运用
所属栏目:[教程] 日期:2023-03-27 热度:9894
迭代协议包括两方面的内容 —— 可迭代协议和迭代器协议,下面我们就来看看这两个协议都是什么。
什么是可迭代协议?可以通过 JavaScript 对象定义或定制迭代行为,在 JavaScript 中有一些内置类型并且[详细] -
ES6+ for...of教程
所属栏目:[教程] 日期:2023-03-27 热度:2491
在编程中最常见的就是对数据的遍历操作,ES5 有针对数组和对象的遍历方法,但这些方法或多或少地都会存在一定的问题。
for...of 对于可迭代的对象(包括:内置的 String、Array、类似数组的对象(arguments 或 No[详细] -
ES6+ Symbol使用
所属栏目:[教程] 日期:2023-03-27 热度:3391
我们知道在 ES5 中, 对象的属性名都是字符串,容易造成属性名冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突,ES6 引入 Symbol 就[详细]
-
ES6+ WeakMap运用
所属栏目:[教程] 日期:2023-03-27 热度:8749
由前面学到的 Set 和 WeakSet 具有很多相似的地方,比如它们存放的都是独一无二的元素。所以,对 Map 和 WeakMap 也可以进行类比,WeakMap 中也存放的是键值对。不同的是 WeakMap 的 key 只能是对象,值可以是任意类[详细]
-
ES6+ Map定义
所属栏目:[教程] 日期:2023-03-27 热度:9643
在 ES5 中使用 Object 来存储对象,然而这种存储存在一些问题,比如说 Object 中的键是无序的,Object 的键只能是字符串类型等等。ES6 提供了 Map 数据结构,保存的是键值对,而且能够记住键的插入顺序,并且任何值 [详细]
-
什么是ES6+ WeakSet
所属栏目:[教程] 日期:2023-03-27 热度:302
本节将学习与它类似的数据结构 WeakSet,不同的是 WeakSet 存放的数据是一个弱引用类型。在 JavaScript 中,对象的引用是强保留的,这意味着只要持有对象的引用,它就不会被垃圾回收。JavaScript 属于高级语言, 存在[详细]
-
ES6+ Set介绍
所属栏目:[教程] 日期:2023-03-27 热度:6032
我们对 ES6 新的数据结构做了简要的介绍,并没有深入的学习。这节我们将深入地学习 Set 数据结构,了解 Set 的存储方式,可以让我们更深入地理解 Set 数据结构。
Set 提供了用于操作数据的几种方法,使用这些方法[详细] -
ES6+ 数据结构扩展教程
所属栏目:[教程] 日期:2023-03-27 热度:711
编程语言都具有内建的数据结构,但各种编程语言的数据结构常有不同之处。本文将要说的数据结构就是 JavaScript 内建的数据结构及其属性。
我们知道在 JavaScript 中有两种数据类型,一种是基本数据类型,另一种是[详细] -
ES6+ Object.entries()使用
所属栏目:[教程] 日期:2023-03-27 热度:6557
前两节我们学习了获取可枚举对象上属性和属性值作为一个数组的方法 Object.keys() 和 Object.values(),但是我们想把键值对同时获取到怎么办呢?这时 ES6 提供了 Object.entries() 方法用于获取可枚举对象上的属性和[详细]
-
ES6+ Object.values()介绍
所属栏目:[教程] 日期:2023-03-27 热度:1591
Object.values() 方法返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用 for...in 循环的顺序相同 (区别在于 for-in 循环枚举原型链中的属性)。与 Object.keys() 相反一个是获取 key,一个是获取 value[详细]
-
ES6+ Object.keys()解析
所属栏目:[教程] 日期:2023-03-27 热度:8654
我们知道迭代对象可以使用 for...in 循环来做,但 for...in 循环会枚举其原型链上的属性,这使得我们在遍历时需要判断是不是原型链属性。Object.keys() 可以接受一个对象返回一个可枚举的数组,数组中的元素的排列顺[详细]
-
ES6+ Object.assign()教程
所属栏目:[教程] 日期:2023-03-27 热度:9584
Object 对象的更新 把一个对象复制到另一个对象,在 ES5 中需要循环对象进行拷贝
语法使用:
Object.assign(target, ...sources)
参数解释:
参数 描述
target 需要拷贝到的目标对象
sources 源[详细] -
ES6+ Object.is()浅析
所属栏目:[教程] 日期:2023-03-27 热度:4285
在 ES5 中判断两个值是否相等基本都是使用 == 或 === 来判断,ES6 提供了 Object.is() 方法来判断两个值是否相同,这个方法弥补了使用等号方式判断所存在的问题。
Object.is() 会接收两个需要判断的参数,最后返回[详细] -
ES6+ 可选链操作符运用
所属栏目:[教程] 日期:2023-03-27 热度:6283
在 ES5 中对于安全地访问对象的深嵌套属性时,首先检查它的上一个属性是否存在,然后才能获取属性的值,否则就会报错:
var obj = {}
console.log(obj.a) // undefined
console.log(obj.a.b) // Unca[详细] -
ES6+ flat()使用
所属栏目:[教程] 日期:2023-03-27 热度:964
在开发中有时会遇到对多维数组进行拍平处理,数组的拍平就是将一个嵌套多层的数组进行降维操作,也就是对数值进行扁平化。然而在 ES5 是没有方法能处理这样的需求的,大部分都会借助函数库的方式来实现。
本节我们[详细] -
ES6+ 对象的扩展运用
所属栏目:[教程] 日期:2023-03-27 热度:4993
JavaScript 中对象是非常重要的数据结构,ES6 对对象进行了极大的扩展,使用上也更加简洁。前面我们学习了 扩展语法 和 剩余参数 是对象扩展的其中的一部分,本节和后面几节会对 Object 的扩展进行系统的介绍。后面我[详细]
-
ES6+ isArray()教程
所属栏目:[教程] 日期:2023-03-27 热度:9115
在程序中判断数组是很常见的应用,但在 ES5 中没有能严格判断 JS 对象是否为数组,都会存在一定的问题,比较受广大认可的是借助 toString 来进行判断,很显然这样不是很简洁。ES6 提供了 Array.isArray() 方法更加简[详细]
-
ES6+ fill()介绍
所属栏目:[教程] 日期:2023-03-27 热度:977
在定义一个数组时,需要给数组设置默认值进行填充,ES6 提供了 fill 方法,类似 copyWithin 都是替换数组中的值,fill 可以替换一个指定的值,copyWithin 则是复制数组中的值去替换指定位置的值,不能指定值。
fi[详细] -
ES6+ copyWithin()教程介绍
所属栏目:[教程] 日期:2023-03-24 热度:3122
在 ES5 中没有对数组内元素的复制和替换,如果要实现数组内的替换需要针对性的操作。而在 ES6 中提供了 copyWithin 方法轻易地实现数组内元素的复制,不会改变原数组的长度。
copyWithin 复制原数组指定的项,从 [详细] -
ES6+ find()和findIndex()语法浅析
所属栏目:[教程] 日期:2023-03-24 热度:7818
在 ES5 中有 filter 方法可以用于过滤符合条件的元素,但是 filter 返回的是一个数组,其实我们只想得到符合条件的值或者索引。本节将学习 ES6 的 find 和 findindex 方法,丰富了数组查询的方法。
这两个方法的使[详细] -
ES6+ includes()使用方法详解
所属栏目:[教程] 日期:2023-03-24 热度:7581
在字符串中我们学习了 includes () 方法,在数组中同样存在 includes () 方法,用来查找数组。includes () 的存在是为了取代 indexOf () 方法而设计的, indexOf() 在数组查找时存在一定缺陷,对于数组中元素是 unde[详细]
-
ES6+ of()使用方法详情
所属栏目:[教程] 日期:2023-03-24 热度:9560
本节介绍 ES6 的数组的新增方法 Array.of() 该方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。Array.of() 主要是弥补数组构造函数 Array() 的不足。因为参数个数的不同,导致 Array() 的重载[详细]