5.32 isBoolean
5.32.1 语法
_.isBoolean(object)
5.32.2 说明
如果object是一个布尔值,返回true,否则返回false。
5.32.3 代码示例
_.isBoolean(null); //=> false
_.isBoolean(true); //=> true
_.isBoolean(false); //=> true
_.isBoolean(!0); //=> true
_.isBoolean(!1); //=> true
5.32.4 源码
_.isBoolean = function(obj) {
return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
};
布尔值除了ture就是false,为何还要toString.call(obj) === '[object Boolean]'
5.32.6 如果只用 obj === true || obj === false
function isBoolean(obj){
return obj === true || obj === false;
}
isBoolean(1); //=> true
isBoolean(true); //=> true
isBoolean(false); //=> true
isBoolean(new Boolean(true)); //=> false 这里不行了
5.32.7 如果只用 toString.call(obj) === '[object Boolean]';
暂时还不知道这样子会有什么bug,欢迎讨论。
function isBoolean(obj){
return toString.call(obj) === '[object Boolean]';
}
isBoolean(!1); //=> true
isBoolean(!0); //=> true
isBoolean(new Boolean(true)); //=> true
isBoolean(false); //=> true
isBoolean(true); //=> true
5.32.8 将值转化为布尔值
var expression= 1;
var x1 = !!expression; // 常用
var x2 = Boolean(expression); // 推荐使用
var x3 = new Boolean(expression); // 不这样子使用
```