Текст и числа
У каждого значения в JavaScript есть тип. До сих пор вы использовали два типа:
- числа, например
25или1.5, с которыми можно считать; - текст, например
"Привет". Программисты называют его строкой (по-английски string — «цепочка» символов).
Вот почему текст нужен в кавычках, а числа — нет: 25 — это число, а "25" — текст из символов 2 и 5. Тип определяет, что делает оператор. Например, + складывает два числа, но соединяет две строки:
console.log(5 + 3);
console.log("5" + "3");
console.log("5" + 3);Это выведет:
8
53
53Последняя строка многих удивляет. Если с одной стороны от + стоит строка, JavaScript превращает в строку и другую сторону и соединяет их. Поэтому текст можно соединять с числами: "Мне " + 25 + " лет." даёт "Мне 25 лет."
В выводе тип не виден: и console.log(5), и console.log("5") выводят 5. Чтобы узнать тип значения, используйте typeof:
console.log(typeof 5);
console.log(typeof "5");Это выведет:
number
stringtypeof работает и с переменными: typeof price даёт тип значения, которое хранится в price.
Типичная ошибка — число в кавычках. Тогда + соединяет вместо того, чтобы складывать, и результат выглядит странно:
const apples = "5";
console.log(apples + 1);Это выведет 51 вместо 6. Когда результат вас удивляет, проверьте типы с помощью typeof.
Задание
- 1
Программа должна вывести
Через год вам будет 26, а выводитЧерез год вам будет 251. Выясните почему: на новой строке выведите типageс помощьюtypeof. - 2
Выводится
string: вageлежит текст, потому что значение записано в кавычках. Исправьте это: уберите кавычки вокруг25, чтобы вageлежало число. Тогда программа выведетЧерез год вам будет 26, аtypeofвыведетnumber.