ES8 (ES2017)新属性

文章类型:Javascript

发布者:hp

发布时间:2025-03-05

一:属性

1:异步函数 (Async/Await)

用于简化Promise的异步操作。

async function fetchData(query) {  
  try {  
    const response = await axios.get(`/query?query=${query}`);  
    return response.data;  
  } catch (error) {  
    console.log(error);  
  }  
}  

2:Object.entries()和Object.values()

返回对象的可枚举属性的键值对或值。

const obj = { a: 1, b: 2 };  
console.log(Object.values(obj));   // [1, 2]  
console.log(Object.entries(obj));  // [["a", 1], ["b", 2]]  

3:String padding (padStart和padEnd方法)

用于字符串的填充。

console.log("5".padStart(3, "0"));  // "005"  
console.log("Hi".padEnd(5, "!"));   // "Hi!!!"  

4:Object.getOwnPropertyDescriptors()

获取对象属性描述符。

Object.getOwnPropertyDescriptors():获取对象属性描述符

5:函数参数列表和调用中的尾随逗号

function fn(a, b, ) { /* ... */ }  

6:共享内存与原子操作

SharedArrayBuffer 和 Atomics‌:支持多线程间共享内存,提供原子操作保证数据一致性(需结合 Web Worker 使用)‌

二:总结

1:异步流程控制‌=>async/await 替代回调地狱,适用于 API 请求、文件读写。

2‌:对象数据处理‌=>Object.values() 和 Object.entries() 简化对象到数组的转换,便于遍历和序列化‌。‌:

3:字符串格式化‌=>padStart() 用于时间显示、数字对齐等‌