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
| Parameter | Type | Description |
|---|---|---|
value | unknown | 要检查的值 |
Returns
value is boolean | BooleanObject
是否为布尔原始值或布尔包装对象
Example
const raw: unknown = new Boolean(false);
if (isBooleanLike(raw) && raw.valueOf() === false) `{ ... }`