📅  最后修改于: 2023-12-03 15:16:14.087000             🧑  作者: Mango
在 JavaScript 中,有时候我们需要检查一个值是否真正强制为布尔值。虽然在 JavaScript 中有一些内置的方法,如 Boolean()
和 !!
等,可以将一个值强制转换为布尔值,但在某些情况下,这些方法并不总是有效。
以下是一些方法,可以检查一个值是否真正强制为布尔值。
true
和 false
进行比较我们可以将一个值与 true
和 false
进行比较。如果它等于其中任何一个,则说明它是一个真正的布尔值。
function isBoolean(value) {
return value === true || value === false;
}
console.log(isBoolean(true)); // true
console.log(isBoolean(false)); // true
console.log(isBoolean(0)); // false
console.log(isBoolean("true")); // false
typeof
检查值的类型使用 typeof
操作符,我们可以检查一个值的类型。如果它的类型是 'boolean'
,则说明它是一个真正的布尔值。
function isBoolean(value) {
return typeof value === "boolean";
}
console.log(isBoolean(true)); // true
console.log(isBoolean(false)); // true
console.log(isBoolean(0)); // false
console.log(isBoolean("true")); // false
Object.prototype.toString.call()
获取值的类型使用 Object.prototype.toString.call()
方法,我们可以获取一个值的类型。如果它的类型是 [object Boolean]
,则说明它是一个真正的布尔值。
function isBoolean(value) {
return Object.prototype.toString.call(value) === "[object Boolean]";
}
console.log(isBoolean(true)); // true
console.log(isBoolean(false)); // true
console.log(isBoolean(0)); // false
console.log(isBoolean("true")); // false
虽然在 JavaScript 中有一些内置的方法,如 Boolean()
和 !!
等,可以将一个值强制转换为布尔值,但在某些情况下,这些方法并不总是有效。我们可以使用上述方法来检查一个值是否真正强制为布尔值。