здравствуйте, я ведь верно понимаю что такая запись: (0 == "") работает так: 1. идет сравнение без приведения типов 2. сравнивается 0 и "" 3. имеется 0 - число, и "" - строка 4. преобразуем "" 4.1. преобразуем "" в число 4.2. "" преобразуется в 0 5. в итоге получается сравнение 0 == 0 6. получается true
запись: ([] == "") работает так: 1. идет сравнение без приведения типов 2. сравнивается [] и "" 3. имеется [] - массив, и "" - строка 4. преобразуем [] 4.1. преобразуем [] в строку 4.2. [] преобразуется в "" 4.3. преобразуем "" в число 4.4. "" преобразуется в 0 5. преобразуем "" 5.1. преобразуем "" в число 5.2. "" преобразуется в 0 6. в итоге получается сравнение 0 == 0 7. получается true
верно? Или массив со строкой по другому сравнивается?
если кому интересно как сравнивать ([] == "") вот тут (https://262.ecma-international.org/5.1/#sec-11.9.3) пункт 8/9. Оказывается массив просто преобразуется в строку и сразу сравнивается, а не преобразуется все до числа