📜  Node.js util.types.isBooleanObject() 方法(1)

📅  最后修改于: 2023-12-03 15:17:56.089000             🧑  作者: Mango

Node.js util.types.isBooleanObject() 方法

简介

util.types.isBooleanObject() 方法是 Node.js 中的一个工具方法,它用于检查一个值是否为布尔值对象,即语言规范中的 Boolean 对象。

语法

util.types.isBooleanObject(value)

参数:

  • value:要检查的值。

返回值:

  • 如果 value 是布尔值对象,则返回 true,否则返回 false
示例代码
const { isBooleanObject } = require('util').types;

console.log(isBooleanObject(new Boolean(true))); // true
console.log(isBooleanObject(new Boolean(false))); // true
console.log(isBooleanObject(true)); // false
console.log(isBooleanObject(false)); // false
console.log(isBooleanObject(null)); // false
注意事项
  • Boolean() 构造函数创建的布尔值对象是一个内置的 JavaScript 对象,它在实践中很少使用。如果想检查普通布尔值,应该使用 typeof 运算符或 === 运算符。
  • 该方法只在 Node.js 10.0.0 或更高版本中才可用,如果需要在更早的版本中使用,可使用以下代码进行兼容:
const { isBooleanObject } = require('util');

function isBooleanObjectFallback(value) {
  return toString.call(value) === '[object Boolean]' && Object.getPrototypeOf(value) === Boolean.prototype;
}

console.log(isBooleanObjectFallback(new Boolean(true))); // true
console.log(isBooleanObjectFallback(new Boolean(false))); // true
console.log(isBooleanObjectFallback(true)); // false
console.log(isBooleanObjectFallback(false)); // false
console.log(isBooleanObjectFallback(null)); // false