Skip to content

ES10 bigInt

// Flat flatMap()

flat 拉平数组,去除空项 const arr = [1,2,3,[4,5]] const arr1 = [1,2,3,[4,5,[6]]] console.log(arr.flat()) console.log(arr1.flat(num)) console.log(arr1.flat(Infinity))

const arr1 = [1,2,3,4]

console.log(arr1.map(x=>[x2])) console.log(arr1.flatMap(x=>[x2]))

//Object.formEntries() => 对象自身可枚举属性 for...in

const map = new Map(["name","-灯"], ["address","bejing"]); console.log(Object.formEntries(map)) console.log(Object.entries);Ide

String.prototype.matchAll 返回包含所有匹配正则表达式及分组捕获迭代器

const str = "yideng xuetang xuetang";

const reg= /xue*/g

while(matches = reg.exec(str)!== null) { console.log(${matches[0]}-${reg.lastIndex}) }

let matches2 = str.matchAll(reg)

const reg = /y(i)(deng(\d?))/g

// trimStart // trimEnd

// Symbol.prototype.description

const sym = Symbol("描述") console.log(String(sym)) console.log(sym.description);

Catch 参数可以省略

// 之前

try {

} catch(e) {

}

try {

} catch{

}

行分割符和段分割符号

JSON.parse JSON是ECMAScript的一个子集

// 草案 解决一个问题

const json = '{"name": "yideng"\nxuetang}'

console.log(json)

JSON.parse(json);

JSON.stringify()

字符U+D800 到 U+DFFF处理

U+2028 行分隔符 U+2029 段分割符

JSON.stringify('\UDEAD');

Array.prototype.sort()

小于10 插入排序 快速排序 O<n^2>

新的v8 TimSort() n(nlogn)

const arr = [ {name: 'w', age:18} {name: 'd', age:1} {name: 'yideng ', age:8} {name: 'x', age:108} {name: 'j', age:198} ]

arr.sort((a,b)=> a.age-b.age);

Function.string()

Object.prototype.toString();

function /1213/ foo /123/() { }

console.log(foo.toString())

// BigInt  任意进度整数 第七种基本数据类型

2^53-1

let num = 1n;

// 标准化的globalThis 对象

const getGlobal = function () { if(typeof self != "undefined) return self; if(typeof window != "undefined) return window; if(typeof gloabal != "unefined") reutrn global;

throw new Error(); }

// 在任何属性中打印this consolelog(globalThis)