将三元运算符转为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
相关产品推荐
相关产品推荐

