Преобразование типов
JavaScript может гибко преобразовывать один тип в другой. Мы уже могли убедиться в этом на примере логических значений: везде, где интерпретатор JavaScript ожидает получить логическое значение, можно указать значение любого типа и JavaScript автоматически выполнит необходимое преобразование. Одни значения («истинные» значения) преобразуются в значение true
, а другие («ложные») – в false
. То же относится и к другим типам: если интерпретатор ожидает получить строку, он автоматически преобразует любое другое значение в строку. Если интерпретатор ожидает получить число, он попробует преобразовать имеющееся значение в число (в случае невозможности такого преобразования будет получено значение NaN).
Преобразование типов в JavaScript:
Значение | В строку | В число | В логическое значение |
---|---|---|---|
undefined |
"undefined" | NaN | false |
null |
"null" | 0 | false |
false |
"false" | 0 | |
true |
"true" | 1 | |
"" (пустая строка) |
0 | false | |
"1.2" (строка число) |
1.2 | true | |
"one" (строка не число) |
NaN | true | |
0 |
"0" | false | |
-0 |
"0" | false | |
NaN |
"NaN" | false | |
Infinity |
"Infinity" | true | |
-Infinity |
"-Infinity" | true | |
1 |
"1" | true | |
{} |
true | ||
[] |
"" (пустая строка) | 0 | true |
[9] |
"9" | 9 | true |
['a'] |
метод join() | NaN | true |
function() {} |
NaN | true |