iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
1
Modern Web

從ES到ESNext - 30天輕鬆掌握ECMAScript系列 第 16

ES2016(ES7) - Array、運算子

本系列文章經過重新編排和擴充,已出書為ECMAScript關鍵30天。原始文章因當時準備時程緊迫,多少有些許錯誤。為了避免造成讀者的困擾,以及配合書籍的內容規劃,將會陸續更新本系列文章。
本篇文章在 2021/11/8 已更新。

從 ES2016 開始的改版,規模並不像 ES2015 般那麼的龐大。以目前來看大部分是些內建型別或與語法的擴充。以 ES2016 來說,主要只有推出兩個標準:

Array.prototype.includes(element)

在 ES2015 以前,如果要查詢在陣列或字串中,某個元素是否存在。最常用的方法就是 indexOf。像這樣:

const arr = [1, 2, 3];
const hasOne = arr.indexOf(1) > -1;

不過這樣子以陳述式表達的寫法,撰寫上不是那麼方便,也缺乏語意性。因此在 ES2016 擴充了查詢語法 includes。直接將想查詢的元素放入參數,並以布林值回傳是否存在。

[1, 2, 3].includes(4); // false
"One Punch Man".includes("M"); // true

次冪運算子 base ** exponent

**這個運算子相當於 Math.pow(base, exponent)。意思是求 base 數值的 exponent 次方。這個運算子在許多語言,像是 Python、Ruby、MATLAB 等都已經被標準化,因此在這版推出,主要與其他語言有一致性,並在寫法上更簡潔。

const n = 3 ** 4; // 81
// 等於
const n = Math.pow(3, 4); // 81

上一篇
ES2015(ES6) - ESM模組
下一篇
ES2017(ES8) - async / await
系列文
從ES到ESNext - 30天輕鬆掌握ECMAScript30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言