Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tại sao void statement trong JavaScript đánh giá biểu thức?

void đánh giá biểu thức để thực thi side effect (gọi hàm, gán giá trị...) nhưng **loại bỏ kết quả trả về** (ép thành undefined). Ngăn side effect rò rỉ ra context (như navigation của link).

Ví dụ

<!DOCTYPE html>
<html>
<head>
    <title>Hiểu void(0)</title>
</head>
<body>
    <a href="javascript:void(0);" ondblclick="alert('Click đôi!')">
        Click không phải 1 lần, mà 2 lần.
    </a>
</body>
</html>

Click 1 lần: void(0) → undefined → trình duyệt không navigate.
Click 2 lần: ondblclick chạy alert.

Ứng dụng khác: void(function(){ ... })() chạy IIFE mà không trả giá trị ra ngoài.