国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

淺談目前可以使用ES10的5個新特性

2024-05-06 15:37:28
字體:
供稿:網(wǎng)友

ECMAScript 2015,也稱為ES6,是一個花了6年時間完成的主要版本。從那時起,負責ECMAScript標準開發(fā)的技術(shù)委員會39 (TC39)每年都會發(fā)布該標準的新版本。這個年度發(fā)布周期簡化了這個過程,并使新特性快速可用,JavaScript社區(qū)對此表示歡迎。

今年,ECMAScript 2019(簡稱ES2019)將會發(fā)布。 新功能包括Object.fromEntries(),trimStart(),trimEnd(),flat(),flatMap(),symbol對象的description屬性,可選的catch綁定等。

好消息是這些功能已經(jīng)在最新版本的Firefox和Chrome中實現(xiàn),并且它們也可以被轉(zhuǎn)換,以便舊版瀏覽器能夠處理它們。

1. Object.fromEntries()

在JavaScript中,將數(shù)據(jù)從一種格式轉(zhuǎn)換為另一種格式非常常見。 為了便于將對象轉(zhuǎn)換為數(shù)組,ES2017引入了Object.entrie()方法。 此方法將對象作為參數(shù),并以[key,value]的形式返回對象自己的可枚舉字符串鍵控屬性對的數(shù)組。 例如:

const obj = {one: 1, two: 2, three: 3};console.log(Object.entries(obj));  // => [["one", 1], ["two", 2], ["three", 3]]

但是如果我們想要做相反的事情并將鍵值對列表轉(zhuǎn)換為對象呢? 某些編程語言(如Python)為此提供了dict()函數(shù)。 在Underscore.js和Lodash中還有_.fromPairs函數(shù)。

ES2019引入Object.fromEntries()方法為JavaScript帶來類似的功能, 此靜態(tài)方法允許你輕松地將鍵值對列表轉(zhuǎn)換為對象:

const myArray = [['one', 1], ['two', 2], ['three', 3]];const obj = Object.fromEntries(myArray);console.log(obj);  // => {one: 1, two: 2, three: 3}

如你所見,Object.fromEntries()與Object.entries()所做的事情正好相反。 雖然以前可以實現(xiàn)Object.fromEntries()相同的功能,但它實現(xiàn)方式有些復雜:

const myArray = [['one', 1], ['two', 2], ['three', 3]];const Array.from(myArray).reduce((acc, [key, val]) => Object.assign(acc, {[key]: val}), {})console.log(obj);  // => {one: 1, two: 2, three: 3}

請記住,傳遞給Object.fromEntries()的參數(shù)可以是實現(xiàn)可迭代協(xié)議的任何對象,只要它返回一個兩元素,類似于數(shù)組的對象即可。

例如,在以下代碼中,Object.fromEntries() 將Map對象作為參數(shù),并創(chuàng)建一個新對象,其鍵和對應(yīng)值由Map中的對給出:

const map = new Map();map.set('one', 1);map.set('two', 2);const obj = Object.fromEntries(map);console.log(obj);  // => {one: 1, two: 2}

Object.fromEntries() 方法對于轉(zhuǎn)換對象也非常有用,思考以下代碼:

const obj = {a: 4, b: 9, c: 16};// 將對象轉(zhuǎn)換為數(shù)組const arr = Object.entries(obj);// 計算數(shù)字的平方根const map = arr.map(([key, val]) => [key, Math.sqrt(val)]);// 將數(shù)組轉(zhuǎn)換回對象const obj2 = Object.fromEntries(map);console.log(obj2); // => {a: 2, b: 3, c: 4}            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 临西县| 敦煌市| 公主岭市| 象山县| 莱芜市| 视频| 玉林市| 常州市| 新津县| 深水埗区| 舟曲县| 银川市| 北海市| 威远县| 江口县| 南岸区| 青海省| 榆社县| 永福县| 都安| 绥宁县| 稷山县| 池州市| 阜南县| 绥德县| 樟树市| 正定县| 南漳县| 江口县| 莱阳市| 泸溪县| 乐业县| 浦东新区| 开封市| 吉林市| 勃利县| 玉田县| 沁阳市| 五河县| 眉山市| 巩义市|