ECMAScript 2021
เลขเวอร์ชั่น JavaScript
เวอร์ชั่น JS ซึ่งเก่าแก่ใช้ตัวเลขเรียกเรื่อง ชื่อ ES5 (2009) และ ES6 (2015)
ตั้งแต่ปี 2016 ตัวเลขเรียกเรื่องตามปี เช่น ECMAScript 2016、2017、2018、2019、...
คุณสมบัติใหม่
คุณสมบัติใหม่ใน ES2021
- Promise.any()
- วิธีข้อความ replaceAll()
- ตัวแบ่งเลข (_)
คุณสมบัติใหม่ใน ES2022
- วิธีแบบค่า at()
- วิธีข้อความ at()
- ประมาณการแปลง /d
- Object.hasOwn()
- error.cause
- await import
- วิธีและฟิลด์เปิดเผย
- การประกาศฟิลด์ตัวเนื้อหา
คำเตือน
คุณสมบัติเหล่านี้เป็นคุณสมบัติที่เรียกว่าใหม่
เบราเซอร์ที่เก่าแก่อาจจะต้องใช้โค้ดแทน (Polyfill)
วิธี ReplaceAll() ของ JavaScript ข้อความ
ES2021 ได้นำเข้าวิธีสำหรับข้อความ replaceAll()
ตัวอย่าง
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
replaceAll() มีความสามารถที่จะกำหนดประมาณการแปลงแทนข้อความที่ต้องการแปลง
ถ้าตัวแปรเป็นประมาณการแปลงตัวแหล่งข้อมูล ต้องตั้งการเคลื่อนไหวทั้งหมด (g
),จะทิ้งข้อผิดพลาด TypeError。
ตัวอย่าง
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
คำแนะนำ:ES2020 ได้เพิ่มวิธีสำหรับข้อความ matchAll()
สัญลักษณ์แยกเลขของ JavaScript
ES2021 ได้เพิ่มสัญลักษณ์แยกเลข (_
) เพื่อที่ตัวเลขจะมีความเป็นความเข้าใจง่ายขึ้น:
ตัวอย่าง
const num = 1_000_000_000;
สัญลักษณ์แยกเลขใช้เพื่อการที่เห็นได้เท่านั้น
ตัวอย่าง
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
สัญลักษณ์แยกเลขสามารถถูกใช้ในตำแหน่งใดก็ได้ของตัวเลข:
ตัวอย่าง
const num1 = 1_2_3_4_5;
ให้ทำตาม
สัญลักษณ์แยกเลขไม่อนุญาตให้ปรากฏที่ต้นหรือท้ายของตัวเลข
ใน JavaScript มีเพียงตัวแปรสามารถเริ่มด้วย _ ได้
ตั้งแต่เดือนมกราคม 2020 ต้นนี้ ทุกเบราเซอร์สมัยใหม่ต่างรองรับสัญลักษณ์แยกเลขเป็นต้นของตัวเลข:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
มิถุนายน 2019 | มกราคม 2020 | ตุลาคม 2019 | กันยายน 2019 | มิถุนายน 2019 |