TypeScript中是否有替代重复条件三元运算符的语法?
TypeScript中简化默认值赋值的写法
当然有更简洁的写法,以下几种方案可以替代重复书写的三元运算符:
- 空值合并运算符(
??)
这是TypeScript(ES2020+)专门提供的语法,精准处理null或undefined的场景——只有当左侧值为null/undefined时,才会返回右侧的默认值,不会误判0、空字符串、false这类合法的假值。
对应你的示例:
var x: string = y ?? "default"; // 长表达式的简化写法: const processedKids = (kids as Array<React.ReactNode>) ?? kidsDefaultValue;
- 逻辑或运算符(
||)
如果你的场景中,变量的所有假值(0、''、false、null、undefined)都可以被视为“不存在”,也可以用||,但要注意它的判断范围比??更广,可能会过滤掉你需要保留的合法值。
示例:
var x: string = y || "default";
- 结合可选链(
?.)处理深层属性
如果需要处理嵌套对象的属性赋值,还可以搭配可选链运算符一起使用,避免多层判断:
const nestedValue = someObj?.deepProp?.subProp ?? "default";
内容的提问来源于stack exchange,提问作者Jack Sparrow 32
相关产品推荐
相关产品推荐

