基础算法
数据库
Javascript
HTML 编程
SVG
附录
主要是TypedArray
方法,操作返回新数组。
toSorted
方法,不同于sort
方法,toSorted
创建一个新数组,,且支持对象数组排序。
toReversed
方法是reverse
方法的新数组版本。with
方法,根据索引修改数组中某项的值,返回新数组,方便链式操作。
findLast
和findLastIndex
,根据条件查找元素,前者返回元素或undefined
,后者返回索引或-1
。
toSplice(startIndex, deletedCount, ...items)
切割并添加新元素。主要是类功能的扩展。
static
静态属性和方法声明前缀。#
私有属性和方法声明前缀,在实例外使用时会返回undefined
。也不能在原型扩展(通过 prototype 扩展)方法中使用。replaceAll()
方法。Promise.any([promise1, promise2, promise3])
任何一个成功则resolve
,全部失败才reject
。WeekMap
和WeekSet
,当集合中的对象不再被使用时,GC 会主动回收以释放内存。&&=
、||=
、??=
。
a &&= b
,当a
存在时将b
的值赋给a
。a ||= b
,当a
不存在时将b
的值赋给a
。a ??= b
,当a
为null
或undefined
时,将b
的值赋给a
。可用于初始化或实例对象缺失的属性,如let a = {}; a.b ??= 1;
,a
为{"b": 1}
。1_000_000_000
,更易读。BigInt
大数。let a = BigInt(123);
或 let a = 123n
。String.prototype.matchAll
返回所有匹配项。globalThis
统一全局对象。??
,比||
功能少一些,||
支持(false,0,"",NaN,null,undefined)
,而??
只支持null
和undefined
。??
和||
在一起时如果出错的话用圆括号。?.
。原来的obj != null && obj.method != null && obj.method()
可修改为 obj?.method?.()
。还可以array?.[1]?.attr
或let a = obj?.attr?.value ?? 'default'
。Promise.allSettled
接收一个Promise
数组,当所有的Promise
对象完成时触发then
,不管成功还是失败。Array.prototype.flat()
Array.prototype.flatMap()
Object.fromEntries()
是 Object.entries()
逆操作。String.prototype.trimStart()
String.prototype.trimEnd()
String.prototype.matchAll()
取出字符串中的所有匹配。try...catch..
现在 catch 参数e
为可选项。let x = 123n
。Symbol.prototype.description
Function.prototype.toString()
for await (let item of collection) { ... }
Promise.prototype.finally
asyn/await function () { ... }
返回一个 Promise 对象。Object.entries()
将一个对象中可枚举属性的键名和键值按照二维数组的方式返回。
Object.keys()
只返回自己的键值对中键的值。Object.values()
只返回自己的键值对中属性的值。String.prototype.padStart(targetLength, padding)
用字符 padding 填充字符串左侧至 targetLength 长度。String.prototype.padEnd(targetLength, padding)
用字符 padding 填充字符串右侧至 targetLength 长度。Object.getOwnPropertyDescriptors()
该方法会返回目标对象中所有属性的属性描述符,该属性必须是对象自己定义的,不能是从原型链继承来的。@decorator
,可以用到类和方法上,不能用于函数上,可以传参,可以使用多个。
target
类的原型对象,上例是 Person.prototype,key
所要修饰的类名,descriptor
该属性的描述对象
Array.prototype.includes()
判断数组中是否包含某个值。**
,例如3 ** 2
得到9
,与Math.pow
等价。