TypeScript中无需if语句实现常量条件赋值的最佳实践
TypeScript 无if条件赋值实现方案
你可以通过三元运算符或逻辑运算符实现需求,不需要使用if语句:
方案1:精准匹配空字符串(推荐,完全符合需求)
仅当productId严格等于空字符串时才替换为默认值,其余取值全部保留:
const myConstant = myProduct.productId === "" ? "No Product" : myProduct.productId;
方案2:简化写法(仅适用于productId为纯字符串场景)
如果业务中productId只会返回字符串类型,不存在0、false等其他假值,可以用更简洁的逻辑或写法:
const myConstant = myProduct.productId || "No Product";
注意:该写法会把所有假值(0、false、null、undefined、空字符串)都替换为默认值,使用前需要确认取值范围。
扩展方案:兼容全空格、null、undefined场景
如果需要同时处理全空格字符串、null、undefined的异常情况,可以扩展判断逻辑:
const myConstant = !myProduct.productId?.trim() ? "No Product" : myProduct.productId;
内容的提问来源于stack exchange,提问作者typescriptcoder1123
相关产品推荐
相关产品推荐

