JavaScript: Типы данных
Программы работают с разной информацией: текстом, числами, датами, логическими значениями. У каждого значения в программе есть тип.
Например:
'Hello, World!'является строкой (string);7,-198,0,3.14являются числами (number);trueиfalseявляются логическими значениями (boolean).
Что такое тип данных?
Тип данных определяет:
- какие значения к нему относятся;
- какие операции с ним можно делать.
Например, числа можно складывать, делить и умножать. А строки складываются по-другому — при помощи конкатенации. Умножать строку на строку бессмысленно:
// Бессмыслица: 'мама' * 'блокнот'Числа и строки относятся к разным типам
Пример вывода числа:
console.log(5); // => 5
console.log(-5); // => -5Пример вывода строки:
console.log('5'); // => 5
console.log('-5'); // => -5На экране результат выглядит одинаково, но внутри программы это совершенно разные вещи:
| Значение | Тип данных |
|---|---|
5 | number (число) |
'5' | string (строка) |
Числа в JavaScript
Во многих языках целые и дробные числа — это разные типы (например, в Python это int и float). В JavaScript такого деления нет: и целые, и дробные числа относятся к одному типу — number.
console.log(10.234); // => 10.234
console.log(-0.4); // => -0.4
console.log(3.5 + 1.2); // => 4.7
console.log(5 / 2); // => 2.5
console.log(2.75 - 0.5); // => 2.25Примитивные типы
Типы вроде string, number, boolean называются примитивными — они встроены прямо в язык.
Примитивные типы JavaScript
├── number : числа (целые и дробные) (7, -3, 3.14)
├── string : строки ('hello')
├── boolean : логический тип (true, false)
├── null : намеренное отсутствие значения
└── undefined : значение не заданоКроме строк и чисел, в JavaScript есть логический тип boolean со значениями true и false, а также специальные значения null и undefined. Подробнее мы столкнёмся с ними в будущем.
Как узнать тип значения
Оператор typeof возвращает тип в виде строки:
console.log(typeof 42); // => 'number'
console.log(typeof 'hello'); // => 'string'
console.log(typeof true); // => 'boolean'
console.log(typeof undefined); // => 'undefined'
console.log(typeof null); // => 'object' (историческая ошибка JS)Существуют и составные типы — массивы, объекты и другие. С ними мы познакомимся позже. Более того, в JavaScript можно создавать и свои собственные типы (например, классы), но для начала важно хорошо разобраться с примитивами.
Задание
В программе уже задан текущий год:
const currentYear = 2026;Напишите программу, которая выводит данные профиля в таком формате:
Name: Anna
Birth year: 1994
Age: 32
Rating: 4.7Для этого:
- создайте переменную с годом рождения;
- вычислите возраст на основе текущего года;
- выведите данные на экран с подписями слева.
Полезное
JavaScript: Типы данных
Программы работают с разной информацией: текстом, числами, датами, логическими значениями. У каждого значения в программе есть тип.
Например:
'Hello, World!'является строкой (string);7,-198,0,3.14являются числами (number);trueиfalseявляются логическими значениями (boolean).
Что такое тип данных?
Тип данных определяет:
- какие значения к нему относятся;
- какие операции с ним можно делать.
Например, числа можно складывать, делить и умножать. А строки складываются по-другому — при помощи конкатенации. Умножать строку на строку бессмысленно:
// Бессмыслица: 'мама' * 'блокнот'Числа и строки относятся к разным типам
Пример вывода числа:
console.log(5); // => 5
console.log(-5); // => -5Пример вывода строки:
console.log('5'); // => 5
console.log('-5'); // => -5На экране результат выглядит одинаково, но внутри программы это совершенно разные вещи:
| Значение | Тип данных |
|---|---|
5 | number (число) |
'5' | string (строка) |
Числа в JavaScript
Во многих языках целые и дробные числа — это разные типы (например, в Python это int и float). В JavaScript такого деления нет: и целые, и дробные числа относятся к одному типу — number.
console.log(10.234); // => 10.234
console.log(-0.4); // => -0.4
console.log(3.5 + 1.2); // => 4.7
console.log(5 / 2); // => 2.5
console.log(2.75 - 0.5); // => 2.25Примитивные типы
Типы вроде string, number, boolean называются примитивными — они встроены прямо в язык.
Примитивные типы JavaScript
├── number : числа (целые и дробные) (7, -3, 3.14)
├── string : строки ('hello')
├── boolean : логический тип (true, false)
├── null : намеренное отсутствие значения
└── undefined : значение не заданоКроме строк и чисел, в JavaScript есть логический тип boolean со значениями true и false, а также специальные значения null и undefined. Подробнее мы столкнёмся с ними в будущем.
Как узнать тип значения
Оператор typeof возвращает тип в виде строки:
console.log(typeof 42); // => 'number'
console.log(typeof 'hello'); // => 'string'
console.log(typeof true); // => 'boolean'
console.log(typeof undefined); // => 'undefined'
console.log(typeof null); // => 'object' (историческая ошибка JS)Существуют и составные типы — массивы, объекты и другие. С ними мы познакомимся позже. Более того, в JavaScript можно создавать и свои собственные типы (например, классы), но для начала важно хорошо разобраться с примитивами.
Задание
В программе уже задан текущий год:
const currentYear = 2026;Напишите программу, которая выводит данные профиля в таком формате:
Name: Anna
Birth year: 1994
Age: 32
Rating: 4.7Для этого:
- создайте переменную с годом рождения;
- вычислите возраст на основе текущего года;
- выведите данные на экран с подписями слева.
Полезное
Ваше упражнение проверяется по этим тестам
// @ts-check
import { expect, test, vi } from 'vitest';
test('primitive data types', async () => {
const consoleLogSpy = vi.spyOn(console, 'log');
await import('./index.js');
const firstArg = consoleLogSpy.mock.calls.join('\n');
expect(firstArg).toBe('Name: Anna\nBirth year: 1994\nAge: 32\nRating: 4.7');
});Решение учителя откроется через:
20:00
