如何在JavaScript中以一行代码的方式使用const按条件初始化变量?
JavaScript 一行const实现条件赋值的方案
当然可以!JavaScript里有和Python三元表达式逻辑等价的条件(三元)运算符,刚好能帮你用一行代码完成这个逻辑,而且完美适配const变量的要求。
先明确下你的核心需求:
- 当
blfType等于'field'时,type取#fieldTypeInput+blfId输入框的值 - 否则,
type直接等于blfType本身
你之前的let版本其实有个小问题:内部重新声明的let type是一个局部变量,根本不会修改外部的type值,而用三元运算符的写法就能彻底避免这个坑,同时用const保证变量不可变。
正确的实现代码如下:
function checkAfterPrereqChange(blfType, blfId){ const type = blfType === "field" ? $("#fieldTypeInput"+blfId).val() : blfType; }
语法说明:
JS的三元运算符语法是 条件 ? 条件为真时的返回值 : 条件为假时的返回值,和Python的值1 if 条件 else 值2逻辑完全一致,只是语序反过来了。
因为整个赋值是一个单一表达式,只会执行一次赋值操作,所以完全符合const变量的使用规则——变量一旦赋值就不会再被修改。
内容的提问来源于stack exchange,提问作者lxg95
相关产品推荐
相关产品推荐

