В общем то, все логично. Не баг а фича. Это называется неявное приведение типов.
JavaScript caм в не понимает, с какого перепугу ты пытаешься из строчки вычесть число. Но ладно, хозяин барин, попробую привести строку к числу. Надо же, получилось, JS справился.
О, теперь ты пытаешься прибавить число к строке? Ну ок, законом не запрещено, строки складывать друг с другом можно, так что я приведу тройку к строковому типу и склею их Вместе.
Что, ты поставил минус перед строчкой? Должно быть, ты ненормальный пытаешься сделать его отрицательным. Ну ок, превращу тебе двойку в число и сделаю его отрицательным. Вуаля.
Что? Ты еще и пытаешься прибавить число к строке? Ну, это мы уже проходили, складывать строчки можно. Вот тебе склеенная строчка.
В статье же написано „никаких запеканий”. Джва раза при чём.
В общем то, все логично. Не баг а фича. Это называется неявное приведение типов.
JavaScript caм в не понимает, с какого перепугу ты пытаешься из строчки вычесть число. Но ладно, хозяин барин, попробую привести строку к числу. Надо же, получилось, JS справился.
О, теперь ты пытаешься прибавить число к строке? Ну ок, законом не запрещено, строки складывать друг с другом можно, так что я приведу тройку к строковому типу и склею их Вместе.
Что, ты поставил минус перед строчкой? Должно быть, ты
ненормальныйпытаешься сделать его отрицательным. Ну ок, превращу тебе двойку в число и сделаю его отрицательным. Вуаля.Что? Ты еще и пытаешься прибавить число к строке? Ну, это мы уже проходили, складывать строчки можно. Вот тебе склеенная строчка.