打字稿typeof字符串不能按预期工作

谁能解释为什么第二个变体不起作用?这是一个错误吗?

const prints = (s: string): void => console.log(s);
var x: string | number = Date.now() % 2 ? "test" : 5;

// 1st: working
if (typeof x === "string") {
  prints(x);
}

// 2nd: not working
var typex = typeof x === "string";
if (typex) {
  prints(x);
}

第二个变体显示以下错误:

'string | 类型的参数 number' 不能分配给类型为 'string' 的参数。“数字”类型不能分配给“字符串”类型

TS游乐场

以上是打字稿typeof字符串不能按预期工作的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>