Javascript if短符号
我在网上冲浪,寻找if语句的简写Javascript符号。只有if,而不是else。我的问题是:它存在吗?例如:Javascript if短符号,javascript,Javascript,我在网上冲浪,寻找if语句的简写Javascript符号。只有if,而不是else。我的问题是:它存在吗?例如: (i === 0) ? onlyMyTrueValue; 我发现的唯一一个片段是: (i === 0) ? myTrueValue : myFalseValue; 你可以做: (i === 0) && onlyMyTrueValue; 上述语句的右侧将仅在左侧通过时执行。您可以执行(i==0)和&onlyMyTrueValue,但出于可读性考虑,您不应该这样做
(i === 0) ? onlyMyTrueValue;
我发现的唯一一个片段是:
(i === 0) ? myTrueValue : myFalseValue;
你可以做:
(i === 0) && onlyMyTrueValue;
上述语句的右侧将仅在左侧通过时执行。您可以执行(i==0)和&onlyMyTrueValue代码>,但出于可读性考虑,您不应该这样做
比较您的原始版本:
(i === 0) ? onlyMyTrueValue;
如果:
if (i === 0) onlyMyTrueValue;
这只是多了一个字符,并且与&&
方法的字符数相同。选择可读的选项。谷歌短路评估。编写if
语句的简写方法是if(i==0)somevar=someval
但是你应该让一个JS浏览器来处理这个问题。JavaScript的这个特性已经把我惯坏了。真希望我知道这一点+1@ajp15243-我也不能否认我的放纵….;-)但如果不是布尔值,则该表达式不会仅返回trutyValue
。实际上,如果第一个表达式的计算结果为truthy
值,则无论其类型如何,它都会按原样返回它。+1表示可读性为王。虽然我发现了类似于var foo=bar | |[]如果您试图分配的值(bar
)类似于要过滤掉的undefined
或null
,则code>有助于分配默认值。在99.9%的时间内读取代码分支时,可读性是最重要的。短路方式的可读性较差。如果您担心文件大小,请先通过闭包编译器运行代码,它会将ifs缩小为短路。@nathanhayfield他只是引用OP并与假设的语法进行比较。