三元运算符在 JS 中无法正常工作

我正在运行以下代码并得到意想不到的结果:


var a = 1, b =2 ,c = 3; 
console.log(5*a+ b>0?b:c);

预期结果是:7 但得到 2。


30秒到达战场
浏览 265回答 1
1回答

慕姐4208626

您的代码具有正确的概念,但执行错误。三元正在正确地完成它的工作。目前,您的代码正在执行如下:const a = 1const b = 2const c = 3// This will evaluate to true, since 5 * 1 + 2 = 7, and 7 is greater than 0if (5 * a + b > 0) {   // So return b  console.log(b)} else {  console.log(c)}您应该使用括号来分隔三元:const a = 1const b = 2const c = 3console.log(5 * a + (b > 0 ? b : c));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript