如何简化该三元表达式?是否已处于最简形式?
简化你的JavaScript三元表达式
你写的表达式 A ? (B && C) : B 可以简化成更紧凑的逻辑运算形式,不需要依赖三元运算符:
- 最简逻辑写法:
B && (C || !A) - 等价变体:
B && (!A || C)
逻辑对应验证
两种写法和原表达式的逻辑完全一致:
- 当
A为假时:!A是真,C || !A整体为真,结果就是B && true,也就是B,和原表达式分支结果一致。 - 当
A为真时:!A是假,C || !A等价于C,结果就是B && C,和原表达式的另一个分支完全匹配。
如果单纯看字符长度,简化后的写法比原三元表达式更短,同时逻辑也清晰,是JS里比较惯用的简洁写法。当然原表达式本身可读性也不错,但简化后的版本在代码紧凑性上更优。
内容的提问来源于stack exchange,提问作者Nelu
相关产品推荐
相关产品推荐

