"true"!=true

Feb 09, 2012 20:29


Век живи - век учись (конечно, не менее, чем шестнадцатеричный). В том числе вещам элементарным.

Я-то полагал, что в «Джаваскрипте» true=="true". Ан нет. Неявное приведение типов работает не так. В соответствии с третьей редакцией спецификации ECMA-262, булевское значение сначала приводится к числу (в данном случае - к единице), а это число затем - к строке (в данном случае - к «1»; ну, а "1"!="true", это понятно).

…Да, неявные приведения типов это рискованно, а кто-то даже говорит (и я с ними согласен), что плохо. Осознав это несколько лет назад, я принялся переделывать проект, но не успел сделать это полностью,- именно поэтому сегодня в коде встретились не две строки, а значения разных типов.

javascript, работа

Previous post Next post
Up