在 ECMAScript 2021 中,Object 对象新增了一些非常实用的操作,让开发者可以更加方便地操作对象。本文将介绍这些新操作及其使用技巧。
Object.prototype.at()
Object.prototype.at() 方法可以访问数组或字符串的指定索引处的值,支持负数索引。这个方法可以方便地获取数组或字符串的最后一个元素,或者倒数第二个元素等。
示例代码:
const arr = [1, 2, 3, 4]; console.log(arr.at(-1)); // 4 const str = 'hello'; console.log(str.at(-2)); // l
Object.fromEntries()
Object.fromEntries() 方法可以将一个二维数组转换为一个对象。这个方法与 Object.entries() 方法相反,后者可以将一个对象转换为一个二维数组。
示例代码:
const arr = [['name', 'Tom'], ['age', 18]]; const obj = Object.fromEntries(arr); console.log(obj); // {name: "Tom", age: 18}
Object.getOwnPropertyDescriptors()
Object.getOwnPropertyDescriptors() 方法可以获取对象的所有属性的描述符。这个方法可以方便地复制对象的属性,或者将一个对象的属性设置为只读或不可枚举。
示例代码:
-- -------------------- ---- ------- ----- ---- - - ----- ------ ---- -- -- ----- ----------- - --------------------------------------- ------------------------- ----- ---- - ------------------- ------------- ------------------ -- ------ ------ ---- ---
Object.hasOwn()
Object.hasOwn() 方法可以判断一个对象是否具有指定的自有属性。这个方法与 Object.prototype.hasOwnProperty() 方法相同,但是更加简洁。
示例代码:
const obj = {name: 'Tom'}; console.log(Object.hasOwn(obj, 'name')); // true console.log(Object.hasOwn(obj, 'age')); // false
Object.matchAll()
Object.matchAll() 方法可以在字符串中查找所有匹配的子串,并返回一个迭代器。这个方法可以方便地处理复杂的字符串匹配需求。
示例代码:
-- -------------------- ---- ------- ----- --- - ------ ------- ----- ----- - ----- ----- ------- - -------------------- --- ------ ----- -- -------- - --------------------- ------------- - -- - - -- - - -- - -
总结
ECMAScript 2021 中的 Object 对象新增了一些非常实用的操作,可以方便地处理对象、数组和字符串等数据类型。开发者可以根据实际需求选择合适的方法来处理数据,提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/661206e0d10417a22229bcae