2013-07-20 140 views
-2

我试图重构这个..的JavaScript三元运算符

if(!my_var){ 
    var new_var=0; 
}else{ 
    var new_var=my_var; 
} 

我知道我可以做这样的事情

var new_var = my_var == false ? 100 : my_var; 

但我敢肯定,我已经看到了它做清洁。

+0

您是不是要找'VAR new_var = 100;'? – tjameson

+0

不完全@tjameson – iConnor

+0

@康纳尔 - 然后重构的版本是不一样的原来的,因此,为什么我想也许这是一个复制粘贴错误。 – tjameson

回答

10

这是干净了一点:

var new_var = my_var || 100; 

如果my_varfalseundefinednull""NaN,或0,返回100,否则返回my_var

+0

这是更好的+1 – iConnor

+0

或者如果它等于'NaN' .... – jahroy

+0

@jahroy哈,我知道我会忘记一个。 – Shawn31313

0

正常方式有什么问题?

var newVar = myVar ? myVar : 100; 
0
my_var = (!my_var) ? 100 : my_var;