如何用最高效的单行代码实现字符串布尔转换及原值保留逻辑?
单行实现字符串到布尔值的转换逻辑
如果是JavaScript环境,以下两种单行写法都能满足需求,其中对象映射版本性能更优:
高效优先版(O(1)查找)
const value = { true: true, false: false }[val] ?? val;
这个写法利用对象属性访问的常数时间复杂度特性,比条件判断更快。??(空值合并运算符)会在val不是"true"或"false"时,直接返回原val,完美覆盖其余情况。
兼容优先版(无需ES2020+支持)
const value = val === 'true' ? true : val === 'false' ? false : val;
通过嵌套三元运算符实现逻辑,所有现代JavaScript环境都支持,逻辑直观易懂。
内容的提问来源于stack exchange,提问作者Malvinka
相关产品推荐
相关产品推荐

