is TypeScript · 类型关键字
在函数返回值里声明一个自定义类型保护,让 TypeScript 根据 true/false 结果把变量缩窄成更具体的类型。
怎么用
function 名(x: unknown): x is 类型 {
return 判断条件;
}
小例子
function 是字符串(x: unknown): x is string {
return typeof x === "string";
}
let 值: unknown = "hi";
if (是字符串(值)) {
console.log(值.toUpperCase());
}
类型检查结果
运行结果:HI
提醒:函数体必须返回 boolean,且 TypeScript 会信任这个声明来缩窄类型;如果判断逻辑写错,类型保护就会骗人
官方文档:https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates
在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← TypeScript全部词条