2014-06-20 7 views
7

bir javascript işlevinde bir boolean parametre için varsayılan bir değer ayarlayın, ancak bu değer true veya false her zaman olmasını istiyorsanız, en basit ya da hızlı veya en kapsamlı nedir yolu? O bundan daha basit olabilir gibi görünüyor: Sen ve üçlü atlamakjavascript fonksiyonları isteğe bağlı parametreleri test etmek için <code>typeof foo !== 'undefined'</code> kullandık

function logBool(x) { 
    x = typeof x !== 'undefined' && x ? true : false; 
    console.log(x); 
} 

var a, b = false, c = true; 
logBool(a); // false 
logBool(b); // false 
logBool(c); // true 

cevap

15

ve değerlendirmek "değil x", ör !!x.

X tanımsızsa, !x doğrudur, bu nedenle !!x yeniden yanlış olur. X true ise, !x yanlıştır, bu nedenle !!x doğrudur.

function logBool(x) { 
    x = !!x; 
    console.log(x); 
} 

var a, b = false, c = true; 
logBool(a); // false 
logBool(b); // false 
logBool(c); // true 
+0

Ahhh mükemmel, tam olarak aradığım şey, teşekkürler. – jrode

+0

birisi lütfen bu cevabı koruyun :) –

İlgili konular