ES8 是 ECMAScript 2017 的标准,它引入了许多新特性,其中包括 Object.entries()、Object.values()、.padStart() 和.padEnd() 方法。在本文中,我们将深入探讨这些新特性,了解它们的用途和实际应用。
Object.entries() 方法
Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组。这个数组的每一个元素都是一个形如 [key, value] 的数组,其中 key 是属性名,value 是属性值。
下面是一个使用 Object.entries() 方法的示例:
const obj = { foo: 'bar', baz: 42 }; console.log(Object.entries(obj)); // [['foo', 'bar'], ['baz', 42]]
Object.entries() 方法可以用于遍历对象的属性,例如:
const obj = { foo: 'bar', baz: 42 }; for (const [key, value] of Object.entries(obj)) { console.log(`${key}: ${value}`); } // Output: // foo: bar // baz: 42
Object.values() 方法
Object.values() 方法返回一个给定对象自身可枚举属性的值数组。这个数组的每一个元素都是一个属性值。
下面是一个使用 Object.values() 方法的示例:
const obj = { foo: 'bar', baz: 42 }; console.log(Object.values(obj)); // ['bar', 42]
Object.values() 方法可以用于获取对象的属性值,例如:
const obj = { foo: 'bar', baz: 42 }; const values = Object.values(obj); console.log(values); // ['bar', 42]
.padStart() 和.padEnd() 方法
.padStart() 和.padEnd() 方法用于将字符串填充到指定的长度。
.padStart() 方法在字符串的左侧填充指定的字符,使其达到指定长度。如果字符串已经达到指定长度,则不进行填充。
下面是一个使用 .padStart() 方法的示例:
const str = 'foo'; console.log(str.padStart(5, 'x')); // 'xxfoo' console.log(str.padStart(2, 'x')); // 'foo'
.padEnd() 方法在字符串的右侧填充指定的字符,使其达到指定长度。如果字符串已经达到指定长度,则不进行填充。
下面是一个使用 .padEnd() 方法的示例:
const str = 'foo'; console.log(str.padEnd(5, 'x')); // 'fooxx' console.log(str.padEnd(2, 'x')); // 'foo'
.padStart() 和.padEnd() 方法可以用于格式化字符串,例如:
const name = 'John'; const age = 30; const formatted = `${name} is ${age.toString().padStart(2, '0')} years old.`; console.log(formatted); // 'John is 30 years old.'
总结
Object.entries()、Object.values()、.padStart() 和.padEnd() 方法是 ES8 中的新特性,它们为开发者提供了更方便的方法来遍历对象、获取属性值和格式化字符串。在实际开发中,我们可以根据需要灵活地应用这些方法,提高代码的可读性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/656d7177d2f5e1655d5b4a7f