Так js переводит твои данные к одному типу, в первом примере 0 == "0" переводит строку справа в число что имеет смысл и переводя пустой массив toString, ты получешь пустую строку "". Логично что "0" не равно "". А вот какого хуя он во втором примере при переводи массива в строку говорит что 0 == "" я не ебу. Логичней было бы null или NaN какой нибудь вернуть при переводе пустой строки в число, но он решил что пустая строка это ноль. Ебанавт короче ваш js, лучше работать простетуткой
В случаях 0 == "" и 0 == " " JS приводит строку к числу, то бишь будут нули. А вот в случае, например, с 0 == "_" другой итог, ибо получим 0 == NaN, который ты и хотел
Не знаю насколько эта инфа полезная, ибо я всегда строгое сравнение использую. Мб есть какие-то редкие случаи, где нужно нестрогое, пока такого не встречал
Мем для окончивших школу коррекции
Там изучают транзитивность отношений? Ничего себе
Так js переводит твои данные к одному типу, в первом примере 0 == "0" переводит строку справа в число что имеет смысл и переводя пустой массив toString, ты получешь пустую строку "". Логично что "0" не равно "". А вот какого хуя он во втором примере при переводи массива в строку говорит что 0 == "" я не ебу. Логичней было бы null или NaN какой нибудь вернуть при переводе пустой строки в число, но он решил что пустая строка это ноль. Ебанавт короче ваш js, лучше работать простетуткой
В случаях 0 == "" и 0 == " " JS приводит строку к числу, то бишь будут нули. А вот в случае, например, с 0 == "_" другой итог, ибо получим 0 == NaN, который ты и хотел
Не знаю насколько эта инфа полезная, ибо я всегда строгое сравнение использую. Мб есть какие-то редкие случаи, где нужно нестрогое, пока такого не встречал