- 1
var valid = !!files.length;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+150
var valid = !!files.length;
Fileupload (c)
Нет-нет,
Она не помнит обо мне.
Мы безнадежно далеки,
Как две распятые руки —
Ни потереть, ни хлопнуть,
Ни зашторить свет.
http://rghost.ru/52519817
А можно тройное отрицание? (-1)^x тогда будет eval('!'*x + 'true')
В сишке из-за статической типизации x != 0 и x != NULL вполне хватает, и там !!x скорее экзотика, чем нормальная практика.
А вот насчет жабоскрипта - х.з., я не спец по нему. Но вроде нормального каста там тупо нет, а значений со смыслом false там дохера, поэтому x != null, x != 0 и т.п. не проканают. Вот и остается или !!x или x ? true : false.
Как-то так.
(Не путать с new Boolean(files.length))
15.6 Boolean Objects
15.6.1 The Boolean Constructor Called as a Function
When Boolean is called as a function rather than as a constructor, it performs a type conversion.
Спасибо мудакам которые зафейлили ЕС4.