Birisi bana bunun neden boolean (false) yerine boş bir dize ("") döndürdüğünü açıklayabilir mi? Bu çalışır beklendiği gibiJavascript shorthand bir boolean testi olması gereken dizge döndürüyor
var x = "";
alert(x && x.length > 0);
... doğru dönen: Temelde sadece bir değer bir değişken olup olmadığını görmek için basit bir stenografi denetimi yapmak çalışıyorum
var y = "abc";
alert(y && y.length > 0);
(sağlanması bu değil undefined, null veya boş string).
Her testi tek tek yapabildiğimi biliyorum (x == null, typeof x == 'undefined', x == '') - Sadece Javascript'in neye benzediğine dair bir dize döndürdüğünü anlamaya çalışıyorum bir boole testi.
notu (x) ' – ajax333221
' alert (typeof x! = Undefined && x.length> 0) 'gibi bir şeyle kısaltabiliyor olmalısınız, çünkü her ikisi de boole döner, altho, eğer x tanımlanmamışsa, hata atabilir (en benzer şekilde) çünkü 1. argümanı hata yapabilir, bu bilgiyi mini func veya inline – SpYk3HH