:quality(75)/Void_la_gi_4_8d348339e8.png)
Void là gì? Giải nghĩa chi tiết ý nghĩa, cách dùng và ứng dụng void trong JavaScript
JavaScript là ngôn ngữ không thể thiếu để tạo nên các hiệu ứng động và xử lý logic phía trình duyệt. Khi làm việc với JavaScript, bạn sẽ bắt gặp nhiều từ khóa và toán tử đặc biệt, trong đó void là gì là một câu hỏi khiến không ít người mới học cảm thấy bối rối. Void xuất hiện khá thường xuyên, nhất là trong các đoạn mã liên quan đến xử lý sự kiện hoặc kiểm soát hành vi mặc định của trình duyệt. Vậy void là gì, nó hoạt động ra sao và tại sao lại quan trọng đến vậy? Hãy cùng khám phá chi tiết trong bài viết dưới đây.
Void là gì? Định nghĩa và bản chất
Void là gì? Void là một từ khóa quan trọng trong JavaScript, được sử dụng như một toán tử một ngôi (unary operator) đứng trước một toán hạng đơn. Toán tử void sẽ đánh giá (evaluate) biểu thức đi kèm nhưng không trả về giá trị nào, tức là kết quả của void luôn là undefined, bất kể biểu thức đó là gì.

Nói cách khác, void là công cụ giúp bạn thực thi một đoạn mã mà không cần quan tâm tới giá trị trả về của nó. Điều này rất hữu ích trong các trường hợp bạn chỉ muốn biểu thức được thực thi vì tác dụng phụ (side-effect), chứ không muốn trình duyệt sử dụng giá trị trả về của biểu thức đó.
Cú pháp void trong JavaScript
Để hiểu rõ void là gì, bạn cần nắm được cú pháp sử dụng void trong JavaScript. Có hai kiểu cú pháp phổ biến:
void biểu_thức
void(biểu_thức)
Ví dụ:
javascript
void alert('Hello!');
void(5 + 5);
Khi sử dụng void, bất cứ giá trị nào của biểu thức cũng sẽ bị bỏ qua và kết quả luôn là undefined.

Ứng dụng thực tế của void là gì?
Ngăn chặn hành vi mặc định của thẻ <a> với javascript:void(0)
Một trong những ứng dụng phổ biến nhất của void là gì? Đó là sử dụng trong thuộc tính href của thẻ <a> để ngăn không cho trình duyệt chuyển trang hoặc tải lại trang khi click vào liên kết. Cú pháp thường gặp là:
xml
<a href="javascript:void(0)">Click me!</a>
Khi người dùng click vào liên kết này, trình duyệt sẽ thực thi biểu thức void(0), kết quả là undefined nên trang web không bị tải lại hay chuyển hướng.

Thực thi biểu thức chỉ vì tác dụng phụ
Void là gì trong trường hợp bạn muốn chạy một hàm chỉ để thực hiện tác dụng phụ, ví dụ như hiển thị thông báo, mà không muốn trình duyệt xử lý giá trị trả về? Hãy xem ví dụ sau:
xml
<a href="javascript:void(alert('Warning!!!'))">Hiển thị cảnh báo</a>
Ở đây, alert('Warning!!!') được thực thi để hiện thông báo, nhưng kết quả trả về bị void loại bỏ nên không ảnh hưởng đến trang web hiện tại.

Tạo giá trị undefined một cách chủ động
Void là gì nếu bạn muốn gán giá trị undefined cho một biến một cách rõ ràng? Bạn có thể sử dụng void để tạo undefined:
javascript
let a = void (b = 5, c = 7);
console.log(a); // undefined
console.log(b); // 5
console.log(c); // 7
Biểu thức bên trong void vẫn được thực thi, nhưng biến a luôn nhận giá trị undefined.

Vì sao nên dùng void mà không phải các cách khác?
Void là gì mà lại được ưa chuộng như vậy? Lý do là void giúp bạn kiểm soát giá trị trả về của biểu thức, đảm bảo không có giá trị nào bị trả về cho trình duyệt xử lý tiếp. Điều này đặc biệt quan trọng khi bạn muốn ngăn chặn hành vi mặc định của trình duyệt hoặc tránh các lỗi không mong muốn khi xử lý sự kiện.
Một số ví dụ điển hình về void là gì
Ví dụ 1: Sử dụng void trong href để không chuyển trang
xml
<a href="javascript:void(0)">Không làm gì cả</a>
Khi click vào đây, trang web không bị tải lại hay chuyển hướng vì void(0) trả về undefined.
Ví dụ 2: Thực thi hàm mà không lấy giá trị trả về
xml
<a href="javascript:void(alert('Bạn đã click!'))">Click để xem thông báo</a>
Thông báo sẽ hiện ra nhưng không có giá trị nào trả về cho trình duyệt sử dụng.
Ví dụ 3: Gán giá trị undefined cho biến
javascript
let x = void (y = 10);
console.log(x); // undefined
console.log(y); // 10
Biến x luôn là undefined, còn y vẫn nhận giá trị 10.
Lưu ý khi sử dụng void trong JavaScript
Void là công cụ giúp bạn kiểm soát giá trị trả về, nhưng không nên lạm dụng void trong mọi trường hợp. Đối với các dự án hiện đại, nên cân nhắc sử dụng các phương pháp khác như event.preventDefault() để ngăn hành vi mặc định thay vì lạm dụng javascript:void(0).
Void không phải là hàm, mà là toán tử một ngôi, vì vậy cú pháp phải đúng để tránh lỗi cú pháp.

Void là gì trong các ngôn ngữ khác?
Mặc dù bài viết tập trung vào void là gì trong JavaScript, bạn cũng nên biết rằng trong nhiều ngôn ngữ lập trình khác như C, C++, Java, từ khóa void mang ý nghĩa chỉ kiểu trả về “không có giá trị” của một hàm. Tuy nhiên, trong JavaScript, void là toán tử, không phải kiểu dữ liệu hay kiểu trả về của hàm.
Tạm kết
Void là gì? Đó là một toán tử đặc biệt trong JavaScript, giúp bạn đánh giá một biểu thức mà không trả về giá trị nào, thường dùng để kiểm soát hành vi trình duyệt và tạo giá trị undefined. Việc hiểu rõ void là gì, cách dùng và ứng dụng thực tế sẽ giúp bạn viết mã JavaScript an toàn, hiệu quả và chuyên nghiệp hơn.
Bạn đang học lập trình web hoặc muốn nâng cao kỹ năng JavaScript? Đừng quên trang bị cho mình một chiếc laptop chất lượng tại FPT Shop để lập trình, thử nghiệm và học tập mọi lúc mọi nơi. FPT Shop cung cấp đa dạng sản phẩm công nghệ phù hợp cho lập trình viên, giúp bạn tối ưu hiệu suất công việc và học tập. Truy cập FPT Shop để chọn ngay thiết bị phù hợp nhất cho hành trình phát triển bản thân!
Xem thêm:
:quality(75)/estore-v2/img/fptshop-logo.png)
:quality(75)/play_off_la_gi_8e51863818.jpg)
:quality(75)/ngay_vang_vong_la_gi_63ce1d927c.png)
:quality(75)/ai_ky_la_gi_12030a8704.jpg)
:quality(75)/bank_slip_2bacc0e45d.png)
:quality(75)/ngay_nguyet_ky_la_gi_6e0d543072.png)
:quality(75)/ngay_sinh_co_menh_thien_tien_la_gi_0b0c9a443c.png)