Những toán tử JavaScript hiện đại bạn nên sử dụng vào năm 2025

0 0 0

Người đăng: Vũ Tuấn

Theo Viblo Asia

JavaScript từ lâu đã là một ngôn ngữ linh hoạt, nhưng các bản cập nhật gần đây đã khiến nó trở nên mạnh mẽ và biểu đạt hơn bao giờ hết. Nếu bạn vẫn đang sử dụng các giải pháp tạm thời để xử lý tập hợp, kiểm soát Promise rườm rà hoặc chuỗi gọi hàm lủng củng, thì đã đến lúc cập nhật bộ công cụ của mình.

Trong bài viết này, chúng ta sẽ khám phá một số toán tử và phương thức tích hợp mới nhất được giới thiệu trong các phiên bản ECMAScript gần đây mà bất kỳ lập trình viên JavaScript hiện đại nào cũng nên biết.

1. Set.prototype.intersection()Set.prototype.difference()

Việc thực hiện các phép toán tập hợp trong JavaScript từng rất phiền phức — bạn phải lặp thủ công hoặc dùng thư viện như Lodash. Nhưng giờ thì không cần nữa.

const first = new Set([1, 2, 3]);
const second = new Set([2, 3, 4]); const intersectionResult = first.intersection(second); // Set {2, 3}
const differenceResult = first.difference(second); // Set {1}

Đây là các phương thức gốc (được giới thiệu trong ES2024+) giúp mã của bạn ngắn gọn và dễ đọc hơn rất nhiều.

2. Promise.withResolvers() – Toàn quyền kiểm soát Promise

Đã bao giờ bạn muốn tự tay resolve hoặc reject một Promise từ bên ngoài constructor chưa? Trước đây, làm điều này khá rối rắm.

const { promise, resolve, reject } = Promise.withResolvers(); setTimeout(() => { resolve('Done!');
}, 2000); promise.then(console.log); // Output: Done!

Cực kỳ hữu ích trong việc kiểm thử, quản lý hàng đợi hoặc các luồng bất đồng bộ phức tạp. Không còn cần những đoạn new Promise lộn xộn nữa.

3. Toán tử gán Logic (&&=, ||=, ??=)

Một cách viết gán điều kiện gọn gàng hơn.

let user = { isActive: false }; // Instead of:
if (!user.isActive) user.isActive = true; // Use:
user.isActive ||= true;

Tương tự, &&= chỉ gán nếu biểu thức là truthy, và ??= chỉ gán nếu giá trị là null hoặc undefined.

Rất hữu ích khi làm việc với các thuộc tính đối tượng hoặc thiết lập mặc định.

4. Dấu ngăn cách số – Dễ đọc hơn

Không hẳn là toán tử mới, nhưng là một cải tiến giúp mã dễ đọc hơn.

const budget = 1_000_000;
const byteSize = 64_000_000; console.log(budget); // 1000000

Bạn trong tương lai (và đồng đội của bạn) sẽ cảm ơn bạn vì điều này.

5. Toán tử Pipeline (|>) – Chuỗi gọi hàm sạch sẽ hơn

Toán tử pipeline |> là một cú pháp JavaScript đang được đề xuất (Stage 2), cho phép bạn truyền kết quả của biểu thức vào hàm kế tiếp theo kiểu chuỗi. Điều này giúp tránh phải lồng các hàm quá sâu và khiến mã dễ đọc, dễ bảo trì hơn.

const appendWorld = (str) => str + ' world';
const toUpperCase = (str) => str.toUpperCase();
const splitString = (str) => str.split(' ');

Trước:

const result = splitString(toUpperCase(appendWorld('hello'))); // Output: ["HELLO", "WORLD"]

Sau:

const result = 'hello' |> appendWorld |> toUpperCase |> splitString;
// Output: ["HELLO", "WORLD"]

Rất dễ đọc — đặc biệt là khi chuỗi biến đổi dài. Toán tử này lấy cảm hứng từ cách piping trong Unix và lập trình hàm.

⚠️ Lưu ý: Toán tử pipeline vẫn đang ở dạng đề xuất và chưa được tất cả các trình duyệt hỗ trợ. Để sử dụng, bạn có thể cần transpiler như Babel.

Kết luận

JavaScript năm 2025 ngày càng biểu cảm, dễ đọc và thân thiện với lập trình viên hơn bao giờ hết. Việc sử dụng các toán tử mới không chỉ giúp mã sạch hơn mà còn giúp dễ gỡ lỗi, dễ giảng dạy và dễ yêu thích hơn.

Hãy bắt đầu áp dụng chúng vào dự án của bạn hoặc refactor những đoạn mã cũ nếu phù hợp. Nếu bạn đang chuẩn bị phỏng vấn hoặc làm việc với mã nguồn mở, những tính năng này cũng là một lợi thế đáng kể.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 550

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 463

- vừa được xem lúc

Một số phương thức với object trong Javascript

Trong Javascript có hỗ trợ các loại dữ liệu cơ bản là giống với hầu hết những ngôn ngữ lập trình khác. Bài viết này mình sẽ giới thiệu về Object và một số phương thức thường dùng với nó.

0 0 171

- vừa được xem lúc

Tìm hiểu về thư viện axios

Giới thiệu. Axios là gì? Axios là một thư viện HTTP Client dựa trên Promise.

0 0 159

- vừa được xem lúc

Imports và Exports trong JavaScript ES6

. Giới thiệu. ES6 cung cấp cho chúng ta import (nhập), export (xuất) các functions, biến từ module này sang module khác và sử dụng nó trong các file khác.

0 0 121

- vừa được xem lúc

Bài toán đọc số thành chữ (phần 2) - Hoàn chỉnh chương trình dưới 100 dòng code

Tiếp tục bài viết còn dang dở ở phần trước Phân tích bài toán đọc số thành chữ (phần 1) - Phân tích đề và những mảnh ghép đầu tiên. Bạn nào chưa đọc thì có thể xem ở link trên trước nhé.

0 0 264