ECMAScript 2023
Số phiên bản của JavaScript
Các phiên bản đầu tiên của ECMAScript được đặt tên bằng số: ES5 và ES6.
Từ năm 2016 bắt đầu, phiên bản được đặt tên theo năm: ES2016, 2018, 2020……
Phiên bản thứ 14, tức là ECMAScript 2023, được phát hành vào tháng 6 năm 2023.
Tính năng mới trong ES2023
- Mảng findLast()
- Mảng findLastIndex()
- Mảng toReversed()
- Mảng toSorted()
- Mảng toSpliced()
- Mảng với()
- #! (Shebang)
Cảnh báo
Những tính năng này tương đối mới.
browser cũ hơn có thể cần mã thay thế (Polyfill).
Phương pháp findLast() của JavaScript Array
ES2023 đã thêm findLast()
phương pháp, phương pháp này sẽ bắt đầu từ cuối mảng và trả về giá trị của phần tử đầu tiên thỏa mãn điều kiện.
Mô hình
const temp = [27, 28, 30, 40, 42, 35, 30]; let high = temp.findLast(x => x > 40);
Phương pháp findLastIndex() của JavaScript Array
findLastIndex()
phương pháp tìm kiếm chỉ số của phần tử cuối cùng thỏa mãn điều kiện.
Mô hình
const temp = [27, 28, 30, 40, 42, 35, 30]; let pos = temp.findLastIndex(x => x > 40);
Phương pháp toReversed() của JavaScript Array
ES2023 đã thêm Array toReversed()
phương pháp, một cách an toàn để đảo ngược mảng mà không thay đổi mảng ban đầu.
phương pháp mới toReversed()
phương pháp với reverse()
Sự khác biệt của phương pháp này là, phương pháp mới sẽ tạo ra một mảng mới, giữ nguyên mảng ban đầu, trong khi phương pháp cũ sẽ thay đổi mảng ban đầu.
Mô hình
const months = ["Jan", "Feb", "Mar", "Apr"]; const reversed = months.toReversed();
Phương pháp toSorted() của JavaScript Array
ES2023 đã thêm Array toSorted()
phương pháp, một cách an toàn để sắp xếp mảng mà không thay đổi mảng ban đầu.
phương pháp mới toSorted()
phương pháp với sort()
Sự khác biệt của phương pháp này là, phương pháp mới sẽ tạo ra một mảng mới, giữ nguyên mảng ban đầu, trong khi phương pháp cũ sẽ thay đổi mảng ban đầu.
Mô hình
const months = ["Jan", "Feb", "Mar", "Apr"]; const sorted = months.toSorted();
Phương pháp toSpliced() của JavaScript Array
ES2023 đã thêm Array toSpliced()
một cách an toàn để nối mảng mà không thay đổi mảng ban đầu.
phương pháp mới toSpliced()
phương pháp với splice()
Sự khác biệt của phương pháp này là, phương pháp mới sẽ tạo ra một mảng mới, giữ nguyên mảng ban đầu, trong khi phương pháp cũ sẽ thay đổi mảng ban đầu.
Mô hình
const months = ["Jan", "Feb", "Mar", "Apr"]; const spliced = months.toSpliced(0, 1);
phương pháp with() của JavaScript Array
ES2023 đã thêm Array with()
phương pháp, như một cách an toàn để cập nhật phần tử của mảng mà không thay đổi mảng gốc.
Mô hình
const months = ["Januar", "Februar", "Mar", "April"]; const new = months.with(2, "March");
Shebang JavaScript (#!)
Shebang là dấu số (#) ở đầu của tập lệnh.#
)và dấu chấm hỏi (!
)của chúng ta (#!
):
#!/usr/bin/env node
ví dụ trên cho thấy hệ điều hành sử dụng chương trình node để chạy tập lệnh.
Hiện tại, bạn có thể sử dụng ./fileName.js
để chạy mã JavaScript, thay vì sử dụng node fileName.js
。
#!
Cũng được gọi là sharp-exclamation (尖感叹号)、hashbang (散列叹号)、pound-bang (井叹号) hoặc hash-pling (散列 pling).