跳到主要内容

isBooleanLike()

function isBooleanLike(value): value is boolean | BooleanObject;

Defined in: packages/utils/src/types/isBoolean.ts:38

检查值是否为布尔原始值或 Boolean 包装对象。

谓词收窄为 boolean | BooleanObject,调用方必须显式 .valueOf() 才能取到布尔值, 因此不会出现「包装对象被当成原始 false」的静默错误。

按 Object.prototype.toString 标签判定而非调用 value.valueOf(): 只有真正持有 [[BooleanData]] 的对象返回该标签,且 null 原型对象没有 valueOf, 调用即 TypeError。

Parameters​

ParameterTypeDescription
valueunknown要检查的值

Returns​

value is boolean | BooleanObject

是否为布尔原始值或布尔包装对象

Example​

const raw: unknown = new Boolean(false);
if (isBooleanLike(raw) && raw.valueOf() === false) `{ ... }`