ECMAScript 2023
เลขรุ่น JavaScript
เวอร์ชั่น ECMAScript ตั้งแต่เดิมถูกตั้งชื่อด้วยตัวเลข ES5 และ ES6
ตั้งแต่ปี 2016 เป็นต้นมา ตัวเลขของเวอร์ชั่นถูกตั้งชื่อด้วยปี ES2016, 2018, 2020 ตลอดไป
第 14 版,即 ECMAScript 2023,於 2023 年 6 月發布。
ES2023 中的新特性
- Array findLast()
- Array findLastIndex()
- Array toReversed()
- Array toSorted()
- Array toSpliced()
- Array with()
- #! (Shebang)
警告
這些功能相對較新。
較舊的瀏覽器可能需要替代代码(Polyfill)。
JavaScript Array findLast() 方法
ES2023 添加了 findLast()
方法,該方法將從數組的末尾開始,並返回滿足條件的第一个元素的值。
ตัวอย่าง
const temp = [27, 28, 30, 40, 42, 35, 30]; let high = temp.findLast(x => x > 40);
JavaScript Array findLastIndex() 方法
findLastIndex()
方法查找滿足條件的最后一个元素的索引。
ตัวอย่าง
const temp = [27, 28, 30, 40, 42, 35, 30]; let pos = temp.findLastIndex(x => x > 40);
JavaScript Array toReversed() 方法
ES2023 ได้เพิ่มเมธอด Array toReversed()
方法,作為一種在不改變原始數組的情況下反轉數組的安全方式。
新的 toReversed()
方法與旧的 reverse()
方法的區別在於,新方法會創建一個新數組,保持原始數組不變,而舊方法會改變原始數組。
ตัวอย่าง
const months = ["Jan", "Feb", "Mar", "Apr"]; const reversed = months.toReversed();
JavaScript Array toSorted() 方法
ES2023 ได้เพิ่มเมธอด Array toSorted()
方法,作為一種在不改變原始數組的情況下對數組進行排序的安全方式。
新的 toSorted()
方法與旧的 sort()
方法的區別在於,新方法會創建一個新數組,保持原始數組不變,而舊方法會改變原始數組。
ตัวอย่าง
const months = ["Jan", "Feb", "Mar", "Apr"]; const sorted = months.toSorted();
JavaScript Array toSpliced() 方法
ES2023 ได้เพิ่มเมธอด Array toSpliced()
方法,作為一種在不改變原始數組的情況下拼接數組的安全方式。
新的 toSpliced()
方法與旧的 splice()
方法的區別在於,新方法會創建一個新數組,保持原始數組不變,而舊方法會改變原始數組。
ตัวอย่าง
const months = ["Jan", "Feb", "Mar", "Apr"]; const spliced = months.toSpliced(0, 1);
JavaScript Array with() มีศัพท์
ES2023 ได้เพิ่มเมธอด Array with()
เมธอดเป็นวิธีปลอดภัยในการปรับปรุงตัวแปลแบบระบบเดิมโดยไม่เปลี่ยนแปลงตัวแปลต้นตอน
ตัวอย่าง
const months = ["Januar", "Februar", "Mar", "April"]; const new = months.with(2, "March");
Shebang JavaScript (#!)
Shebang คือสัญลักษณ์เหลี่ยมหลอดที่อยู่ที่ต้นของสคริปต์#
) และสัญลักษณ์เหลี่ยมหลอด (!
) ส่วนผสม (#!
) :
#!/usr/bin/env node
ตัวอย่างด้านบนบอกให้ระบบที่คุณใช้เป็น node โปรแกรมเพื่อปฏิบัติสคริปต์
ตอนนี้ คุณสามารถใช้ ./fileName.js
เพื่อปฏิบัติ JavaScript โค้ด แทนที่จะใช้ node fileName.js
.
#!
มีชื่อเรียกเดียวกันกับ sharp-exclamation (ตัวอักษรย่อมากขึ้น) หรือ hashbang (สัญลักษณ์แบนก์) หรือ pound-bang (สัญลักษณ์เหลี่ยมหลอด) หรือ hash-pling (สัญลักษณ์แบนก์ pling)