在挖掘一些代码时,我发现了以下代码段:
"string" != typeof myVar && (myVar = "");
Run Code Online (Sandbox Code Playgroud)
我明白这里发生了什么。如果 myVar 不是字符串,则第一个条件的计算结果为 true,因此计算第二个条件,导致 myVar 设置为 ""。所以它本质上是以下内容的替代品:
if ("string" != typeof myVar)
myVar = "";
Run Code Online (Sandbox Code Playgroud)
唯一可辨别的区别是两种策略中的前者也是返回语句,尽管我找到的代码没有使用返回值。所以我想知道: