我是一个学习者。当我尝试为变量赋值时,如下所示,它不起作用。想知道原因。
这不起作用:
const w =
if (2 > 1) {
return 1500;
} else {
return 2500;
}
但这可行:
const w = function() {
if (2 > 1) {
return 1500;
} else {
return 2500;
}
}()
有更好的方法吗?
答案 0 :(得分:2)
在JavaScript中,我们在语句中使用if
(这就是为什么它称为 if语句的原因)。但是,const w =
之后的内容是一个表达式。因此,您的第一个代码段无效:您无法在JavaScript需要表达式的地方使用if
。
话虽如此,您应该使用if
的“模拟” 来表示表达式,即conditional operator。
在您的情况下:
const w = 2 > 1 ? 1500 : 2500;
console.log(w)
或者,如果您(出于某种原因)想要保留if
语句:
let w;
if (2 > 1) {
w = 1500
} else {
w = 2500
};
console.log(w)
答案 1 :(得分:-1)
您不能使用语句来分配变量。对于备用解决方案,请使用条件/三元运算符
语法
const var_name =条件? true_value:false_value
示例
const w = 2 > 1 ? 1500 : 2500