Chuyển đổi sang kiểu Boolean trong JavaScript
Bây giờ hãy cùng nghiên cứu việc chuyển đổi các kiểu dữ liệu khác sang Boolean. Việc chuyển đổi như vậy được thực hiện bằng hàm Boolean.
Dưới đây là các giá trị khi chuyển đổi sang kiểu Boolean sẽ cho ra false:
console.log(Boolean(0)); // false
console.log(Boolean(-0)); // false
console.log(Boolean(+0)); // false
console.log(Boolean(null)); // false
console.log(Boolean(false)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean('')); // false
Tất cả các giá trị còn lại trong JavaScript (trong các ngôn ngữ khác có thể không như vậy) đều cho ra true. Dưới đây là các giá trị chuyển đổi thành true, nhưng có thể khiến bạn nghi ngờ:
console.log(Boolean(-1)); // true
console.log(Boolean(Infinity)); // true
console.log(Boolean(-Infinity)); // true
Các giá trị sau đây là chuỗi, vì chúng được đặt trong dấu ngoặc kép, và cũng được chuyển đổi thành true:
console.log(Boolean('0')); // true
console.log(Boolean('false')); // true
console.log(Boolean('NaN')); // true
console.log(Boolean('null')); // true
console.log(Boolean('undefined')); // true
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(3);
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(0);
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(-1);
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(-0);
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(+0);
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean('abc');
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean('');
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean('0');
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(true);
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(false);
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean('true');
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean('false');
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(null);
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean('null');
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(undefined);
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean('undefined');
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(NaN);
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean('NaN');
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(3 * 'abc');
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(Infinity);
alert(test);
Không chạy code, hãy xác định điều gì sẽ được in ra màn hình:
let test = Boolean(1 / 0);
alert(test);