Від себе додам, що працював у цій копанії два роки і жодних проблем вище описаних ніколи не було. Що там зараз відбувається не можу сказати так як не ікавився
о так, для співбесід саме то, написав якусь фігню і з розумним виглядом питаєш, що з того вийде :)
особливо подобається typeof null => «object» :)
+new Date()
я таке в коді не раз бачив
null + null + [] таке теж може бути легко і тут цілий ребус треба розгадати, щоб зрозуміти результат
це як на мене є великим недоліком мови
в js повно проблем, це я і хотів сказати
саме тому було так багато способів його замінити
це і actionscript, coffeescript, clojurescript а тепер і typescript
на мою скромну думку в цих перетвореннях більше проблем ніж користі, цим хворіє більше js, в python такого не має, але це теж динамічна мова
то чому пустий об’єкт не конвертується в 0?
я лише виду до того, що в js велика кількість проблем і з ними треба навчитись якось жити
typeof [] => «object»
typeof {} => «object»
але чомусь так
Number({}) => NaN, що логічно, а Number([]) => 0
і такого в js тонна
тут ціла таблиця всіх перетворень
getify.github.io/coercions-grid
це для краз не просто, в js це суцільна катастрофа
бо NaN це набагато логічніше, а як пустий масив може бути 0?
1 > "" => true
-0 == 0 => true
так, це мінус нуль, в js все можливо
[] == ![] => true
а це навіть круто виглядає
1 > null => true
довгий список вийшов
Number("") => 0
де логіка?
коли заходиш з нового телефона то можна відновити переписку, звідси і висновок що зберігають