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

Mối quan hệ giữa 'null' và '0' trong JavaScript


Nhiều sự tò mò nảy sinh khi xử lý các giá trị falsy (false values), đặc biệt là khi so sánh "null" và "0" do đặc tính của chúng. Khi so sánh "null" và "0", ta gặp các tình huống đặc biệt. Với lớn hơn (>), nhỏ hơn (<) và bằng (==) thì kết quả là Boolean false. Nhưng với lớn hơn hoặc bằng (>=) thì Boolean true được trả về.

Câu hỏi nảy ra: làm sao một giá trị không lớn hơn 0, không bằng 0, nhưng lại lớn hơn hoặc bằng 0?

Ví dụ

Trong ví dụ sau, ba điều kiện lớn hơn, nhỏ hơn, bằng được kiểm tra giữa null và 0. Cả ba trường hợp kết quả đều là false.

<html> <body> 
    <script> 
        if(null > 0){ 
            document.write("null is greater than 0"); 
        } else if(null < 0) { 
            document.write("null is less than 0"); 
        } else if(null == 0){ 
            document.write("null is equal to 0"); 
        } else { 
            document.write("It is a typical relationship"); 
        } 
    </script> </body> </html>

Kết quả

It is a typical relationship

Ví dụ

Trong ví dụ sau, null không lớn hơn 0 và không bằng 0, nhưng lớn hơn hoặc bằng 0. Điều này nghe rất lạ. Trong toán học, nếu a không nhỏ hơn b thì a hoặc lớn hơn b hoặc bằng b. Nhưng với 'null' và '0', kỳ vọng toán học không còn đúng. Đây là trường hợp đặc biệt trong JavaScript.

<html> <body> 
    <script> 
        if(null > 0){ 
            document.write("null is greater than 0"); 
        } else if(null == 0){ 
            document.write("null is equal to 0"); 
        } else if(null >= 0) { 
            document.write("null is greater than or equal to 0"); 
        } 
    </script> </body> </html>

Kết quả

null is greater than or equal to 0