ECMAScript 2015-2019 完全指南

ECMAScript 是 JavaScript 的基礎標準,通常簡稱為 ES。探索有關 ECMAScript 及其最新功能的所有內容。 TC39 是什麼? ES 版本 ES Next 無論你在哪裡讀到關於 JavaScript 的內容,你總會看到這些術語之一: ES3 ES5 ES6 ES7 ES8 ES2015 ES2016 ES2017 ECMAScript 2015 ECMAScript 2016 ECMAScript 2017 ECMAScript 2018 ECMAScript 2019 這些代表什麼意思呢? 它們都指的是 ECMAScript 這個標準。 ECMAScript 是JavaScript 的基礎標準,通常簡稱為 ES。 除了 JavaScript,其他的語言也實現了 ECMAScript,包括: ActionScript(Flash 腳本語言),由於 Flash 將於 2020 年正式停用,因此其受歡迎程度不斷下降。 JScript(微軟腳本方言),由於當時只有 Netscape 支援 JavaScript,網路瀏覽器戰爭正如火如荼進行中,微軟不得不為 Internet Explorer 建立自己的版本。 但當然最受歡迎和廣泛使用的 ECMAScript 實現是 JavaScript。 為什麼會有這個奇怪的名字?Ecma 国际是一家位於瑞士的標準協會,負責制定國際標準。 當 JavaScript 誕生時,由 Netscape 和 Sun Microsystems 提交給 Ecma,並被命名為 ECMA-262,別名為 ECMAScript。...

如何在JavaScript中扁平化數組

實用指南:如何在JavaScript中扁平化數組 ES2019在Array原型中引入了兩個新方法:flat和flatMap。它們對於我們想要的操作——將數組扁平化非常有用。 讓我們看看它們是如何工作的。 但首先,提醒一下:只有Firefox 62+、Chrome 69+、Edge 76+和Safari 12+已經支持這兩個方法,因為它們是比較新的。請查看當前瀏覽器支持情況,並記住,如果你需要支持較舊的瀏覽器,可以使用Babel將你的代碼回退到之前的ES版本。 如果你不想使用Babel,而且你還沒有構建步驟,你可以使用Lodash提供的flatten()、flattenDeep()和flattenDepth()函數,這可能更有意義。 Lodash的一個很酷的功能是你無需導入整個庫,你可以使用這些包來單獨使用這些函數: lodash.flatten lodash.flattendeep lodash.flattendepth 下面是使用lodash.flatten扁平化數組的方法: const flatten = require('lodash.flatten') const animals = ['Dog', ['Sheep', 'Wolf']] flatten(animals) //['Dog', 'Sheep', 'Wolf'] 現在讓我們來討論原生的flat()和flatMap() JavaScript方法。 flat()是一個新的數組實例方法,它可以從多維數組中創建一個一維數組。 例如: ['Dog', ['Sheep', 'Wolf']].flat() //[ 'Dog', 'Sheep', 'Wolf' ] 默認情況下,它只能“扁平化”一層。 你可以向flat()添加參數來設置要將數組扁平化到的層級。 將其設置為Infinity可以無限層級扁平化: ['Dog', ['Sheep', ['Wolf']]].flat() //[ 'Dog', 'Sheep', [ 'Wolf' ] ] ['Dog', ['Sheep', ['Wolf']]].flat(2) //[ 'Dog', 'Sheep', 'Wolf' ] ['Dog', ['Sheep', ['Wolf']]].flat(Infinity) //[ 'Dog', 'Sheep', 'Wolf' ] 如果你熟悉JavaScript數組的map()方法,你就知道可以使用它對數組的每個元素執行一個函數。...