文章内容

2025/10/22 1:27:54,作 者: 黄兵

const show: 1 | 0 = res.isShow ? 1 : 0; 代码理解

这段 TypeScript 代码:

const show: 1 | 0 = res.isShow ? 1 : 0;

✅ 1. res.isShow ? 1 : 0

这是一个 三元运算符(ternary operator)。
意思是:

如果 res.isShow 的值为真(truthy),就返回 1
否则返回 0

例如:

res.isShow = true  → show = 1
res.isShow = false → show = 0

✅ 2. : 1 | 0

这是 TypeScript 的类型注解,表示 show 的类型只能是 10,而不能是其他数字。

也就是说:

const show: 1 | 0

等价于声明:

show 只能是数字 10 之一。

这是一种 字面量类型(literal type) 的写法,常用于限定值范围。

✅ 3. 整体意思总结

这行代码的作用是:

根据 res.isShow 的布尔值,生成一个只可能是 10 的数值类型变量。

所以:

// 如果 res.isShow 是 true
show = 1

// 如果 res.isShow 是 false
show = 0

类型上,show 的值一定是 1 或 0(类似数据库中的 tinyint 或后端接口需要数字型的布尔值)。

✅ 补充示例

假设你要把布尔值转成数字发送给后端,这样写很常见:

const payload = {
  show: res.isShow ? 1 : 0
};

如果后端要求字段类型严格是 1 | 0,加上类型注解更安全:

const show: 1 | 0 = res.isShow ? 1 : 0;
分享到:

发表评论

评论列表