JavaScript это динамически типизированный язык. Это означает, что Вы не должны специфицировать тип данных переменной при её объявлении и что типы данных при необходимости автоматически конвертируются при выполнении скрипта. Так, например, Вы можете объявить переменную:
var answer = 42и позднее присвоить этой же переменной строковое значение, например,
answer = "Thanks for all the fish..."Поскольку JavaScript динамически типизируется, такое присвоение не вызовет сообщения об ошибке.
В выражениях, содержащих числовые и строковые значения и операцию +, JavaScript конвертирует числа в строки. Например, рассмотрим такой оператор:
x = "The answer is " + 42 // возвращает "The answer is 42"В операторах, содержащих другие операции, JavaScript не конвертирует числа в строки. Например:
"37" - 7 // возвращает 30