Код:
var num = 20;
if(num == "20")
{
alert("It works");
}
else
{
alert("Not working");
}
Вопрос:
В программировании на C у нас есть имя правила продвижение типа данных, при котором, когда есть сочетание типов данных (пример: добавление целого числа и числа с плавающей запятой), целое число сначала будет преобразовано в число с плавающей запятой, прежде чем будет выполнено добавление.
Приведенный выше код вызовет у меня окно предупреждения с сообщением «Это работает»
, которое показывает , если
условие проверки истинно.
Для слабо типизированного JavaScript мне просто любопытно: существует ли какое-либо правило, подобное C, которое определяет, какое преобразование будет выполнено в какой ситуации? Кроме того, приведенный выше код JavaScript преобразует значение переменной num
из целочисленного значения в строковое значение перед выполнением сравнения или наоборот?