JavaScript 常用小技巧
类型检查小工具
JavaScript 不是强类型语言,我们可以通过集成强类型检测 TypeScript, 但是有时候我们只是想做一个简单的类型检查。这时候就可以用到 typeof 关键字。
typeof 的问题在于,用于基本数据类型和函数时效果很好,但是对于数组和对象来说,由于它们都被视为对象,因此很难把握它们之间的区别。
1 | const isOfType = (() => { |
检查是否为空
在写代码时,我们需要知道变量是否为空,并且根据结果决定要使用的方法,例如检查长度,大小,或者是否包含任何子元素,可以使用以下方法。
1 | function isEmpty(x) { |
带有范围的随机数生成器
1 | function randomNumber(max = 1, min = 0) { |
随机 ID 生成器
在 react/vue 使用的过程中,前端有时候需要一些 ID,例如 UUID,这个时候我们就需要使用一个 ID 生成器
1 | const uniqueId = (() => { |
顺序执行 promise
如果有一堆异步或者普通函数都返回 promise, 但是要求一个个执行。
1 | const asyncSequentializer = (() => { |
轮询数据
如果需要持续的检查数据更新,但是系统中没有 websocket。它非常适合上传文件时,想要持续检查文件是否已完成处理的情况。或者使用第三方 API 并且想要持续检查过程是否完成或骑手是否到达目的地的情况。
1 | async function poll(fn, validate, interval = 2500) { |
条件对象键
条件对象键 & 变量作为对象键
1 | const condition = true |
删除数组重复项
数组中常有重复的值,可以使用 Set 来消除,适用于多种数据类型。
1 | const numArrays = [1, 2, 3] |