使用纯JavaScript,您只需使用typeof
或执行类似typeof false
或的操作typeof true
,它将返回"boolean"
...
但这不是做到这一点的唯一方法,我在下面创建函数以显示可在JavaScript中检查布尔值的不同方法,以及在某些新框架中可以执行此操作的不同方法,让我们从这个框架开始:
function isBoolean(val) {
return val === false || val === true;
}
还是单行ES6方式...
const isBoolean = val => 'boolean' === typeof val;
并称之为!
isBoolean(false); //return true
同样在Underscore源代码中,它们按以下方式进行检查(在函数名的开头带有_。):
isBoolean = function(obj) {
return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
};
同样在jQuery中,您可以像这样检查它:
jQuery.type(true); //return "boolean"
在React中,如果使用propTypes,您可以像这样检查一个布尔值:
MyComponent.propTypes = {
children: PropTypes.bool.isRequired
};
如果使用TypeScript,则还可以使用boolean类型:
let isDone: boolean = false;
还有另一种方法,例如将值转换为布尔值,看看它是否仍然完全相同,例如:
const isBoolean = val => !!val === val;
或类似:
const isBoolean = val => Boolean(val) === val;
叫它!
isBoolean(false); //return true
不建议为此使用任何框架,因为这实际上是JavaScript中的简单检查。
true
或false
布尔类型?