Так как Javascript не является жестко типизированным языком, при работе с переменными будут производиться автоматические преобразования.
Пример:
var x = 10;
//В переменную x будет занесено значение целого типа
var y = "20";
//А в переменную y строкового
alert(x + y);
//Здесь на экран выведется 30
alert(y + x);
//А здесь мы получим строку "2010"
Примечание: Функция alert(информация) выводит на экран пользователя сообщение состоящее из передаваемой информации. По аналогии с языком C++ однострочные комментарии описываются (//), многострочные (/* */)
Наряду с этим, имеют место преобразования, описанные в следующей таблице:
| Исходный тип
| Логический тип
| Числовой тип
| Строковый тип
|
| Undefined
| false
| NaN
| "undefined"
|
| Null
| false
| +0
| "null"
|
| Boolean
|
| 1 или 0
| "true", если аргумент равен true, и "false", если аргумент равен false
|
| Number
| false, если аргумент равен +0, -0 или NaN; true в остальных случаях
|
| текстовое представление числа
|
| String
| false, если аргумент — пустая строка; true в остальных случаях
| число, если аргумент – правильное число; NaN в остальных случая
|
|
| Object
| true
|
|
|
Примечание: Описанное выше возможно благодаря методам Boolean(), Number(), Object() и String(), обеспечивающим явное преобразование типов. +0, -0, NaN – неопределнности, «не правильные числа». Текстовое представление числа подразумевает следующее: если число равно -0 или +0 оно преобразуется – в «0», если NaN – в «NaN», если равно бесконечности – в «Infinity»