javascript – 使用\u0026\u0026作为IF语句的替代
作者:互联网
在挖掘一些代码时,我发现了以下代码段:
"string" != typeof myVar && (myVar = "");
我明白这里发生了什么.如果myVar不是字符串,则第一个条件的计算结果为true,因此评估第二个条件,导致myVar设置为“”.所以它基本上是以下内容的替代品:
if ("string" != typeof myVar)
myVar = "";
唯一明显的区别是两个策略的前者也是一个return语句,尽管我发现的代码没有使用返回的值.所以我想知道:
>这两种策略都有任何利弊吗?
>如果第一个策略的唯一专业人员是能够返回一个值,那么我发现的片段是否被认为编程很差,因为它更难以阅读?
解决方法:
只是想指出这个成语的用法不太明确,而且更清晰.
"string" != typeof myVar && (myVar = "");
我读了这个,实际上不得不把它转换成if / else在我脑海里.史蒂夫麦康奈尔认为,每个作品都应该有一行代码,我倾向于同意这一点,而这是违反法律的.另请注意,嵌入式副作用首先是有风险的,这是非常令人震惊的.
parameters = parameters || {};
var speed = parameters.speed || 60;
IMO是一个更清晰的用途,部分原因在于它是如此成熟的习语.要么
if(x && x.employer && x.employer.company === 'google')
是一个明确使用的习惯用法(例如,如果你做undefined.company,你会得到一个例外).
标签:javascript,conditional,readability 来源: https://codeday.me/bug/20190703/1364954.html