1-я часть:
Потому что Когда вы добавляете два массива, все работает так, как ожидалось:
[] + [] //output:''
Добавление массива и объекта также соответствует нашим ожиданиям:
[] + {}
output:'[object Object]'
{} + {}
в JavaScript есть NaN
?
и это неожиданный результат, и в чем причина этого?
Вторая часть:
В сравнении строк без префикса 0 3 больше 12:
"3" > "12"
: true
С дополнением все работает правильно:
"03" > "12"
: false
Является ли префикс 0 обязательным для сравнения строк? В чем причина добавления префикса 0?