2013-07-20 182 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;