Học viên: Phạm Thanh Huấn
Lớp: Web Frontend - React Js 29
Emai: HuanPT99@gmail.com
Link tham khảo: https://medium.com/@chandramuthuraj/ecmascript-2023-es14-four-new-features-2d45dde0d577

ECMAScript 2023 (ES14): Bốn tính năng mới

Giới thiệu

ECMAScript 2023, dự kiến ra mắt vào tháng 6, sẽ bổ sung các phương thức mới để tìm kiếm và thay đổi array, cho phép sử dụng biểu tượng (symbol) làm khóa cho WeakMap, và chuẩn hóa hỗ trợ cho cú pháp hashbang.

Thay đổi array bằng cách sao chép

toReversed

Phương thức toReversed được sử dụng để tạo ra một array mới ngược lại với array ban đầu. Array ban đầu vẫn không thay đổi.

Cả hai phương thức toReversed và reverse đều được sử dụng để đảo ngược một array. Phương thức toReversed tạo ra một array mới trong khi phương thức reverse thay đổi array gốc.

const numbers = [1, 2, 3, 4, 5];
const reversedElement = numbers.toReversed();

console.log(numbers); //[1, 2, 3, 4, 5]
console.log(reversedElement); //[5, 4, 3, 2, 1]

toSorted

Phương thức toSorted được sử dụng để sắp xếp các phần tử của một array theo một thứ tự cụ thể. Nó không thay đổi array gốc.

Cả hai phương thức toSorted và sort methods đều được sử dụng để sắp xếp một array, phương thức toSorted tạo ra một array mới trong khi phương thức sort thay đổi array gốc.

const numbers = [3, 4, 1, 5, 2];
const sortedNumbers = numbers.toSorted();

console.log(numbers); // Output: [3, 4, 1, 5, 2]
console.log(sortedNumbers); // Output: [1, 2, 3, 4, 5]

toSpliced

Phương thức toSpliced được sử dụng để loại bỏ các phần tử khỏi một array. Nó trả về một array mới với các phần tử được chỉ định bị xóa, để array ban đầu không thay đổi.

Phương thức toSpliced trả về array đã được cập nhật trong khi phương thức splice chỉ trả về các phần tử đã được splice. Phương thức toSpliced tạo ra một array mới trong khi phương thức splice thay đổi array gốc.

Ví dụ cho toSpliced

const numbers = [1, 2, 3, 4, 5];
const usingtoSpliced = numbers.toSpliced(1,2,"Chandra")

console.log('numbers', numbers) //Output: [1, 2, 3, 4, 5]
console.log('usingtoSpliced', usingtoSpliced) //Output: [1, 'Chandra', 4, 5]
console.log('numbers', numbers) //Output: [1, 2, 3, 4, 5]

Ví dụ cho Splice

const numbers = [1, 2, 3, 4, 5];
const usingSplice = numbers.splice(1,2,"Chandra")

console.log('numbers', numbers) //Output: [1, 'Chandra', 4, 5]
console.log('usingSplice', usingSplice) //Output: [2, 3]
console.log('numbers', numbers) //Output: [1, 'Chandra', 4, 5]

With (index, value)

Phương thức with() trả về một bản sao của array với giá trị tại chỉ mục cụ thể được thay thế.

const number = [1, 2, 3, 4];
const replaced = number.with(2, 99);
console.log(number); // Output: [ 1, 2, 3, 4 ]
console.log(replaced); // Output: [ 1, 2, 99, 4 ]

Tôi có thể sử dụng chúng hôm nay không?

Hiện tại, các phương thức toReversed, toSortedtoSpliced không được bao gồm trong tiêu chuẩn chính thức của ECMAScript. Tuy nhiên, chúng đang ở giai đoạn 3 trong quy trình, cho thấy chúng đang tiến gần đến hoàn thành và có thể được bao gồm trong các phiên bản JavaScript trong tương lai.

Tuy nhiên, Chrome có những phương pháp này có sẵn từ phiên bản 110.

Cảm ơn mọi người đã dành thời gian đọc bài dịch của mình!