You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将三元运算符转为if-else语句后,如何让控制台输出'beer'?

问题解决:让控制台输出'beer'

你的问题在于把beverage赋值成了一个函数,而不是函数执行后的返回结果,所以控制台打印的是函数对象而非预期的字符串。以下两种修改方式都能解决问题:

方式一:立即执行函数并赋值结果

直接让函数执行,把返回的字符串赋值给beverage:

const age = 26;

const beverage = (function(age) {
  if(age >= 21) {
    return 'beer'
  } else {
    return 'juice'
  }
})(age); // 调用函数并传入age参数,将结果赋值给beverage

console.log(beverage); // 输出'beer'

方式二:直接用if-else给变量赋值(更简洁)

不需要包裹成函数,直接通过if-else逻辑给beverage赋值,和原三元表达式逻辑完全一致:

const age = 26;
let beverage; // 改用let,因为const无法被重新赋值

if(age >= 21) {
  beverage = 'beer';
} else {
  beverage = 'juice';
}

console.log(beverage); // 输出'beer'

内容的提问来源于stack exchange,提问作者Toheeb Osundare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 05:45:39