EDUCATION!

"เช้าใดที่ยังไม่ได้ทำทาน" เป็นส่วนหนึ่งของคติธรรมคำสอนที่ว่า "เช้าใดยังไม่ได้ทำทาน เช้านั้นอย่าเพิ่งกินข้าว วันใดยังไม่ได้ตั้งใจรักษาศีล วันนั้นอย่าเพิ่งออกจากบ้าน คืนใดยังไม่ได้นั่งสมาธิเจริญภาวนา คืนนั้นอย่าเพิ่งเข้านอน"
บทความ

ECMAScript 2021

 

หมายเลขเวอร์ชัน JavaScript

JS เวอร์ชันเก่าตั้งชื่อตามตัวเลข: ES5 (2009) และ ES6 (2015)

จากปี 2016 เวอร์ชันจะถูกตั้งชื่อตามปี: ECMAScript 2016, 2017, 2018, 2019, ...

คุณลักษณะใหม่ใน ES2021


คุณลักษณะใหม่ใน ES2022

คำเตือน

คุณสมบัติเหล่านี้ค่อนข้างใหม่

เบราว์เซอร์รุ่นเก่าอาจต้องใช้รหัสอื่น (Polyfill)


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 75Edge 79Firefox 74Safari 13.1Opera 67
Jun 2019Jan 2020Oct 2019Sep 2019Jun 2019

อาร์เรย์ JavaScript ที่ ()

ES2022 เริ่มใช้วิธีอาร์เรย์at():

ตัวอย่าง

รับผลไม้องค์ประกอบที่สาม:

const fruits = ["Banana""Orange""Apple""Mango"];
let fruit = fruits.at(2);
ลองด้วยตัวคุณเอง »

รับผลไม้องค์ประกอบที่สาม:

const fruits = ["Banana""Orange""Apple""Mango"];
let fruit = fruits[2];
ลองด้วยตัวคุณเอง »

เมธอดat()ส่งคืนองค์ประกอบที่จัดทำดัชนีจากอาร์เรย์

เมธอด จะคืน ค่าat()เหมือนกับ[]

วิธี นี้at()ได้รับการสนับสนุนในเบราว์เซอร์สมัยใหม่ทั้งหมดตั้งแต่เดือนมีนาคม 2565:

Chrome 92Edge 92Firefox 90Safari 15.4Opera 78
Apr 2021Jul 2021Jul 2021Mar 2022Aug 2021

บันทึก

หลายภาษาอนุญาตให้negative bracket indexingเช่น [-1] เข้าถึงองค์ประกอบจากส่วนท้ายของวัตถุ / อาร์เรย์ / สตริง

สิ่งนี้ไม่สามารถทำได้ใน JavaScript เนื่องจาก [] ใช้สำหรับการเข้าถึงทั้งอาร์เรย์และวัตถุ obj[-1] หมายถึงค่าของคีย์ -1 ไม่ใช่คุณสมบัติสุดท้ายของวัตถุ

วิธีการ นี้at()ถูกนำมาใช้ใน ES2022 เพื่อแก้ปัญหานี้


JavaScript สตริงที่ ()

ES2022 เริ่มใช้วิธีสตริงat():

ตัวอย่าง

รับตัวอักษรตัวที่สาม:

const name = "W3Schools";
let letter = name.at(2);
ลองด้วยตัวคุณเอง »

รับตัวอักษรตัวที่สาม:

const name = "W3Schools";
let letter = name[2];
ลองด้วยตัวคุณเอง »

เมธอดat()ส่งคืนองค์ประกอบที่จัดทำดัชนีจากสตริง

เมธอด จะคืน ค่าat()เหมือนกับ[]

วิธี นี้at()ได้รับการสนับสนุนในเบราว์เซอร์สมัยใหม่ทั้งหมดตั้งแต่เดือนมีนาคม 2565:

Chrome 92Edge 92Firefox 90Safari 15.4Opera 78
Apr 2021Jul 2021Jul 2021Mar 2022Aug 2021