JavaScript 判断条件如果是 false 怎么让他什么都不做呢?

2021 年 1 月 13 日
 sudoy

JavaScript 的❓条件判断表达式里面,如果条件为假的时候,如何让它什么都不做呢?我试了以下,如果 : 后面什么都不写,浏览器会报错说 Uncaught SyntaxError: Unexpected token ';'

比如下面,如果 把 'World' 去掉,则会报错:

<!DOCTYPE html>
<html>
  <body>

    <div id="demo"></div>
    <script>
      let a = 10;
      demo = document.getElementById('demo');
      demo.innerText = a > 5 ? 'Hello' : 'World';
    </script>
    
</body>
</html>

也就是说下面的代码会报错。

<!DOCTYPE html>
<html>
  <body>

    <div id="demo"></div>
    <script>
      let a = 10;
      demo = document.getElementById('demo');
      demo.innerText = a > 5 ? 'Hello' : ;
    </script>
    
</body>
</html>
4457 次点击
所在节点    问与答
45 条回复
exceloo
2021 年 1 月 13 日
如果你非要用三元,hmmm
demo.innerText = a > 5 ? 'Hello' : demo.innerText;
answeryou
2021 年 1 月 13 日
```js
let a = 10;
if a<=5 return;
demo = document.getElementById('demo');
demo.innerText = 'Hello';
```
Marstin
2021 年 1 月 13 日
a>5&&(demo.innerTex = 'hello')
ershierdu
2021 年 1 月 13 日
感觉这个就是很典型的 if 逻辑,非要用其他方法很容易降低可读性…
reus
2021 年 1 月 13 日
不用 if ?小心以后维护的人亲切祝福你
zqx
2021 年 1 月 13 日
貌似很少有人在 js 中用 void
itechify
2021 年 1 月 13 日
demo.innerText = a > 5 ? 'Hello' : demo.innerText; 🐶
liuzhaowei55
2021 年 1 月 13 日
@lemonnTr 楼主看三楼的写法,虽然写法很骚,但项目中很多地方都是这么用的。
AllenHua
2021 年 1 月 13 日
a > 5 && demo.innerText='Hello'
niub
2021 年 1 月 13 日
你这是三元表达式语法都不清楚鸭
lifesimple
2021 年 1 月 13 日
a > 5 ? demo.innerText = 'Hello' : ''; 当做 if 来用?
shakaraka
2021 年 1 月 13 日
有意义么。。。没 false 操作的时候要哪个 if 不就好了,不要为了用而用,看场景
msg7086
2021 年 1 月 13 日
if 或者 and 都行。and/or 是有英文语义的(然后 /否则),对英语用户来说理解不成问题。
比如 a > 5 && (demo.innerText = 'Hello') || (window.alert()) 。
但是一般来说除非是特别适合这种英文语义的语句,否则建议一律写成 if 。
read() or die() 这种就比 if(!read()) die() 要易读一些。
cigarzh
2021 年 1 月 13 日
大脑升级

屎山就是这么造出来的
oamu
2021 年 1 月 13 日
@sudoy 别听他的 @cmdOptionKana,if 后面加大括号是个好习惯。
nbin2008
2021 年 1 月 13 日
报错是因为语法不对呀
yaphets666
2021 年 1 月 13 日
空字符串啊...

而且三元表达式 和 if 括号中的 true false 判断 在某些情况下是不一致的
我也记不清了
liantao
2021 年 1 月 13 日
demo.innerText = a > 5 ? 'Hello' :console.log("test") ;
GG668v26Fd55CP5W
2021 年 1 月 13 日
这个帖子让我感觉智商受到了伤害
iapix
2021 年 1 月 13 日

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/744452

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX