基础

ES基础 1. 名词解释 * ECMA: Ecma国际(Ecma International)是一家国际性会员制度的信息和电信标准组织。原名为欧洲计算机制造商协会ECMA(European Computer Manufacturers Association) * ECMAScript: ECMAScript 是标准化组织 ECMA(Ecma International - European association for standardizing information and communication systems)发布的脚本语言规范。 * **ECMA第39号技术委 Continue reading

es10

1.行分隔符(U + 2028)和段分隔符(U + 2029)符号现在允许在字符串文字中,与JSON匹配 以前,这些符号在字符串文字中被视为行终止符,因此使用它们会导致SyntaxError异常。 2.更加友好的 JSON.stringify 如果输入 Unicode 格式但是超出范围的字符,在原先JSON.stringify返回格式错误的Unicode字符串。现在实现了一个改变JSON.stringify的第3阶段提案,因此它为其输出转义序列,使其成为有效Unicode(并以UTF-8表示) 3.新增了Array的flat()方法和flatMap()方法 flat()和flat Continue reading

es9

1. 异步迭代 以串行的方式运行异步操作。 1 2 3 4 5 async function process(array) { for await (let i of array) { doSomething(i); } } 2. Promise.finally() 指定一个Promise的最终操作。 3. Rest/Spread属性 ES6引入了Rest参数和扩展运算符能。三个点仅用于数组。ES9为对象解构提供了和数组一样的展开操作符。 1 2 3 4 5 6 7 const myObject = { a: 1, b: 2, c: 3 Continue reading

es8

1. async/await 1 2 3 4 5 async function process(array) { for await (let i of array) { doSomething(i); } } 2. Object.values Object.values()与Object.keys()方法类似,但返回的是Object对象自身所有的值,不包括继承的值。 1 2 3 4 5 6 const person = { name: 'age', age: 12 } console.log(Object.values(person)); // Continue reading

es7

ES7又称ES2016,它只添加了两个小特性来说明标准化过程: 1. Array.prototype.includes() includes()用来判断一个数组是否包含一个指定值,如果包含则返回true,否则返回false 下面两个表达式是等价的: 1 2 arr.includes(x) arr.indexOf(x) >= 0 2. 指数操作符 在ES7中引入了指数操作符**,该操作符与Math.pow(..)具有等效的计算结果。 1 console.log(2**10); // 1024 Continue reading

es6

ES6 1. let和const var是传统上的函数作用域。ES6推荐使用let声明局部变量,const声明常量,两者都为块级作用域。 1. let用法 1 2 3 4 5 6 7 8 9 var name = 'andy'; { // let声明局部变量 let name = 'qiqi'; console.log(name); // qiqi } console.log(name); / Continue reading