JavaScript 是一门动态语言,它的内建对象不断地增强,以适应日益复杂的编程场景。ES6/ES7/ES8/ES9 为 JavaScript 增添了很多新的内建对象,同时也对现有内建对象进行了增强处理。本文将介绍 ES6/ES7/ES8/ES9 内建对象的增强处理,包括 Set、Map、Promise、Object、Array、RegExp 等。
Set 和 Map
Set 和 Map 是 ES6 新增的内建对象,它们都是用来存储数据的。Set 可以存储任何类型的数据,而 Map 则可以存储键值对。ES6 同时也为 Set 和 Map 对象提供了一些增强处理。
Set
Set 对象是一组无序且唯一的值。Set 对象的增强处理包括以下几个方面:
- Set 对象的初始化可以接受一个可迭代的对象;
- Set 对象新增了一些方法,如
add()
、delete()
、has()
、clear()
; - Set 对象可以使用
for...of
循环遍历。
以下是 Set 对象的示例代码:
-- -------------------- ---- ------- -- ----- --- -- ----- --- - --- ------- -- -- -- ---- ----------------- -- --- --- -- -- -- ---------- ----------- ----------------- -- --- --- -- -- -- -------------- ----------------- -- --- --- -- -- ------------------------ -- ---- -- -- --- -- ------------ ----------------- -- --- -- -- -- -------- ---- --- -- ----- ---- - --- --------- ---- ------ --- ---- ---- -- ----- - ------------------ - -- - -- - -- -
Map
Map 对象是一组键值对的集合。Map 对象的增强处理包括以下几个方面:
- Map 对象的初始化可以接受一个可迭代的对象;
- Map 对象新增了一些方法,如
set()
、get()
、delete()
、has()
、clear()
; - Map 对象可以使用
for...of
循环遍历。
以下是 Map 对象的示例代码:
-- -------------------- ---- ------- -- ----- --- -- ----- --- - --- ------------- ------ ------- ------ ----------------- -- ------ ------- -- ----- ----- -- --- -- -------------- ----------------- ----- ----------------- -- ------ ------- -- ----- ----- -- --- -------- -- ---- ----------------------------- -- -- ------------------ ----------------- -- ------ ------- -- ----- -------- -- ---- ------------------------------- -- ---- -- -- --- -- ------------ ----------------- -- ------ -- -- -- -------- ---- --- -- ----- ---- - --- ------------- ------ ------- ------ --- ---- ----- ------ -- ----- - ---------------- ------- - -- ---- -- -- --- --
Promise
Promise 对象是 ES6 新增的内建对象,用于异步编程。Promise 对象的增强处理包括以下几个方面:
- Promise 对象新增了
finally()
方法,无论 Promise 对象最终的状态如何,都会执行其中的代码; - Promise 对象可以使用
Promise.all()
和Promise.race()
方法,分别用于多个 Promise 对象的并行执行和串行执行。
以下是 Promise 对象的示例代码:
-- -------------------- ---- ------- -- ------- --- --------- -- ----- ------- - --- ----------------- ------- -- - ------------- -- - --------------- -- ------ --- ------- --------- -- - ----------------- -- ---------- -- - ----------------- -- ----------- -- - ---------------------------------- --- -- ------- --- ------------- -- ----- -------- - --- ----------------- ------- -- - ------------- -- - -------------------- -- ------ --- ----- -------- - --- ----------------- ------- -- - ------------- -- - -------------------- -- ------ --- ---------------------- ------------------- -- - ----------------- --- -- ------- --- -------------- -- ----- -------- - --- ----------------- ------- -- - ------------- -- - -------------------- -- ------ --- ----- -------- - --- ----------------- ------- -- - ------------- -- - -------------------- -- ------ --- ----------------------- ------------------- -- - ----------------- ---
Object
Object 是 JavaScript 内建对象体系中最重要的一个对象,它也是 ES6/ES7/ES8/ES9 中被最多增强的一个对象。Object 对象的增强处理包括以下几个方面:
- Object 对象新增了一些静态方法,如
Object.assign()
、Object.keys()
、Object.values()
、Object.entries()
、Object.fromEntries()
等; - Object 对象新增了一些实例方法,如
Object.prototype.hasOwnProperty()
、Object.prototype.toString()
、Object.prototype.valueOf()
等; - Object 对象新增了一些语法,如对象字面量的扩展语法、属性名表达式、解构赋值等。
以下是 Object 对象的示例代码:
-- -------------------- ---- ------- -- ------ ------- ----- ---- - - ----- ---- -- ----- ---- - - ---- -- -- ----- ---- - ------------------- ------ ------------------ -- ------ ----- ---- --- ------------------------------- -- -------- ------ --------------------------------- -- ------ --- ---------------------------------- -- --------- ------ ------- ---- ----- ---- - ---------------------------- ------ ------- ------ ------------------ -- ------ ----- ---- --- -- ------ ------- ----- ---- - - ----- ---- -- ----------------------------------------- -- ---- --------------------------------------------- -- ----- ----------------------------- -- ------- ------- ---------------------------- -- ------ ----- -- ------ ----- ----- ---- - ----- ----- ---- - - ---- -- ------------------ -- ------ ----- ----- -------- - ------- ----- ---- - - ----------- ---- -- ------------------ -- ------ ----- ----- - --- - -- - - ----- ----------------- -- --
Array
Array 对象是 JavaScript 内建对象体系中用得最多的一个对象,它也是 ES6/ES7/ES8/ES9 中被增强处理最多的一个对象。Array 对象的增强处理包括以下几个方面:
- Array 对象新增了一些静态方法,如
Array.from()
、Array.of()
、Array.isArray()
等; - Array 对象新增了一些实例方法,如
Array.prototype.includes()
、Array.prototype.flat()
、Array.prototype.flatMap()
、Array.prototype.sort()
等; - Array 对象新增了一些语法,如扩展运算符、解构赋值等。
以下是 Array 对象的示例代码:
-- -------------------- ---- ------- -- ----- ------- ----- ---- - ------------------ ------------------ -- ----- ---- ---- ----- ---- - ----------- -- --- ------------------ -- --- -- -- --------------------------------- -- ---- -- ----- ------- ----- ---- - --- -- --- ------------------------------ -- ---- ------------------------- -- --- -- -- -------------------------- -- -- - ----- -- --- -- -- ----- ---- - -- ----- ----- ---- -- -- - ----- ----- ---- -- --- ------------- -- -- ----- - ------- ------------------ -- ------- ----- ---- ---- ------ ----- ---- ---- -- ----- ----- ----- ---- - --- --- ----- ---- - --- --- --------------------- ---------- -- --- -- -- -- ----- ------- -------- - ----- ------------------ ------ -- - ---
RegExp
RegExp 对象是 JavaScript 内建对象体系中用于正则表达式匹配的一个对象,它也是 ES6/ES7/ES8/ES9 中被增强处理的一个对象。RegExp 对象的增强处理包括以下几个方面:
- RegExp 对象新增了一些实例方法,如
RegExp.prototype.flags
、RegExp.prototype.sticky
、RegExp.prototype.unicode
等; - RegExp 对象新增了一些语法,如
s
标志、y
标志、u
标志等。
以下是 RegExp 对象的示例代码:
-- -------------------- ---- ------- -- ------ ------- ----- ------ - -------- -------------------------- -- -- --------------------------- -- ----- ---------------------------- -- ----- -- ------ ----- ------------------------------- -- ---- ------------------------------------ -- ---- -------------------------------------- -- ------- ------------------------------------- -- ----
总结
ES6/ES7/ES8/ES9 中的内建对象得到了很大的增强,这些增强为前端开发提供了更多的编程方式和思路。本文介绍了 ES6/ES7/ES8/ES9 中 Set、Map、Promise、Object、Array、RegExp 等内建对象的增强处理,并提供了相应的示例代码。希望读者能够通过本文的学习,掌握这些内建对象的增强处理,从而更好地进行前端开发。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65c22688add4f0e0ffc183fb