文章内容
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 的类型只能是 1 或 0,而不能是其他数字。
也就是说:
const show: 1 | 0
等价于声明:
show只能是数字1或0之一。
这是一种 字面量类型(literal type) 的写法,常用于限定值范围。
✅ 3. 整体意思总结
这行代码的作用是:
根据
res.isShow的布尔值,生成一个只可能是1或0的数值类型变量。
所以:
// 如果 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;
评论列表