ECMAScript(简称ES)是一种脚本语言,也是一种标准化语言,最新版本为 ECMAScript 2019。作为前端开发人员,掌握 ES2019 中的方法、对象和语句对于我们的工作至关重要。本篇文章将详细讲解 ES2019 中常用和新添加的方法、对象和语句,并提供示例代码,以帮助读者深入理解和提高实战能力。
方法
Array.flat
Array.flat() 方法可以将嵌套的数组展开成一维数组,其语法如下:
let arr = [1, 2, [3, 4]]; let flatArr = arr.flat(); //[1, 2, 3, 4]
Array.flatMap
Array.flatMap() 方法可以对数组的每个元素执行一个指定的操作,并将结果展开成一维数组,其语法如下:
let arr = [1, 2, 3]; let flatArr = arr.flatMap(x => [x, x * 2]); //[1, 2, 2, 4, 3, 6]
Object.fromEntries
Object.fromEntries() 方法可以将一个二维数组转换成一个对象,其语法如下:
let arr = [['name','test'],['age', 18]]
let obj = Object.fromEntries(arr) // {name: "test", age: 18}String.trimStart 和 String.trimEnd
String.trimStart() 和 String.trimEnd() 方法可以去除字符串开头和结尾的空白字符,其语法如下:
let str = ' Hello World ' let res1 = str.trimStart() // 'Hello World ' let res2 = str.trimEnd() // ' Hello World'
Symbol.prototype.description
Symbol.prototype.description 属性用于获取 Symbol 对象的描述字符串,其语法如下:
const sym = Symbol('foo')
console.log(sym.description) // 'foo'对象
修改原型对象
在 ECMAScript 2019 中,可以使用 Object.setPrototypeOf() 方法和 Reflect.setPrototypeOf() 方法修改一个对象的原型对象,如下所示:
let obj = {}
let proto = {name: 'test'}
Object.setPrototypeOf(obj, proto) // 设置 obj 的原型为 proto
console.log(obj.name) // 'test'扩展运算符
扩展运算符可以将对象解构出来并展开,使其更易于处理,其语法如下:
let obj1 = { a: 1, b: 2 };
let obj2 = { c: 3, d: 4 };
let merged = { ...obj1, ...obj2 }; // { a: 1, b: 2, c: 3, d: 4 }语句
可选链运算符
可选链运算符(?.)可以更简便地处理 JavaScript 中的 null 或 undefined 值的情况,其语法如下:
let obj = {
name: 'test',
company: {
size: 10
}
}
console.log(obj.company?.size) // 10
console.log(obj.address?.city) // undefined空值合并运算符
空值合并运算符(??)可以更简便地处理 null 或 undefined 等情况下的操作,其语法如下:
let user = {
name: 'test',
age: 30,
address: null
}
let address = user.address ?? 'No Address'
console.log(address) // 'No Address'结语
本文中介绍了 ES2019 中的部分方法、对象和语句,并提供了实际的代码示例。作为前端开发人员,深入理解 ES2019 中的方法、对象和语句对于提高开发效率和实战能力非常重要。希望本文能够帮助读者掌握 ECMAScript 2019 中的相关知识。
Source: FunTeaLearn,Please indicate the source for reprints https://funteas.com/post/6782208d935627c900f89e36