JavaRush /Курсы /Модуль 1: Web Core /Переменные и типы данных в JavaScript

Переменные и типы данных в JavaScript

Модуль 1: Web Core
17 уровень , 1 лекция
Открыта

2.1 Переменные в JavaScript

JavaScript является гибким и динамическим языком программирования, который поддерживает различные способы объявления переменных и работы с типами данных. В этой лекции мы рассмотрим три ключевых способа объявления переменных (var, let, const) и основные примитивные типы данных в JavaScript.

Переменные в JavaScript

JavaScript – это язык с динамической типизацией. Переменные в нем не имеют типа. Любой переменной можно присвоить любое значение в любое время (но есть нюансы).

Чтобы создать переменную нужно написать конструкцию вида:

    
      var name;
    
  

Переменной можно сразу же присвоить значение:

    
      var name = value;
    
  

Но вообще-то в JavaScript существует аж целых 3 способа создания переменных. Вот о них мы сейчас подробнее и поговорим.

Оператор var

Переменные, объявленные с помощью var, имеют функциональную или глобальную область видимости. Они подвержены "всплытию" (hoisting), что означает, что их объявление перемещается в верхнюю часть своей области видимости при выполнении кода.

Пример:

JavaScript
    
      console.log(x); // undefined
      var x = 10;
      console.log(x); // 10
    
  

В этом примере переменная x поднимается в начало своей области видимости, поэтому первый console.log выводит undefined.

Другими словами, "всплытие" превращает наш код в этот:

JavaScript
    
      var x;
      console.log(x); // undefined
      x = 10;
      console.log(x); // 10
    
  

Оператор let

Разработчикам очень хотелось изменить поведение оператора var, но они боялись поломать миллионы уже написанных строк кода. Поэтому они просто придумали еще один оператор, которые тоже создает переменные, но с немного другим поведением.

Переменные, объявленные с помощью let, имеют блочную область видимости. Это означает, что они доступны только в пределах блока кода (обычно в фигурных скобках {}), в котором они объявлены. let не подвержен "всплытию" так, как var.

Пример:

Переменная y существует только внутри блока if.

JavaScript
    
      if (true) {
        let y = 20;
        console.log(y); // 20
      }

      console.log(y); // ReferenceError: y is not defined
    
  

Оператор const

Переменные, объявленные с помощью const, также имеют блочную область видимости и не могут быть переназначены после их инициализации. Однако это не делает объекты, объявленные через const, неизменными — их свойства можно изменять.

То есть переменную менять нельзя, а объект, на который она ссылается — можно. Хотели как лучше, а получилось, как всегда.

Пример:

В этом примере константа x не может быть переназначена, но объект obj может изменяться.

JavaScript
    
      const x = 30;
      console.log(x); // 30
      x = 40; // TypeError: Assignment to constant variable.

      const obj = { name: 'Alice' };
      obj.name = 'Bob'; // Это допустимо
      console.log(obj.name); // Bob
    
  

2.2 Примитивные типы данных

JavaScript поддерживает несколько примитивных типов данных, которые представляют собой простые значения, не являющиеся сложными объектами.

Тип Number

Представляет любые числовые значения, включая целые числа и числа с плавающей запятой.

Примеры:

JavaScript
    
      let num = 42;
      let pi = 3.14;
    
  

Тип String

Представляет текстовые данные: строки, символы, эмодзи. Все что похоже на строки — это сюда.

Примеры:

JavaScript
    
      let greeting = "Hello, world!";
      let facepalm = "🤦";
      let char = 'x';
    
  

Тип Boolean

Представляет логические значения true или false.

JavaScript
    
      let isTrue = true;
      let isFalse = false;
    
  

Тип Null

Представляет намеренное отсутствие значения.

JavaScript
    
      let empty = null;
    
  

Если тип состоит из одного значение, которое означает отсутствие значения, то может он все-таки уникальное значение, чем уникальный тип?

Тип Undefined

Представляет значение переменной, которая была объявлена, но не инициализирована.

JavaScript
    
      let notAssigned;
      console.log(notAssigned); // undefined
    
  

2.3 Сравнение var, let и const

Давайте напоследок сравним наши три способа создания переменных еще раз:

Характеристика var let const
Область видимости Функциональная или глобальная Блочная Блочная
Всплытие (Hoisting) Да, но инициализация не всплывает Нет Нет
Переназначение Да Да Нет
Инициализация Необязательна Необязательна Обязательна

JavaScript предоставляет несколько способов объявления переменных, каждый из которых имеет свои особенности и применимость в зависимости от контекста. var используется реже из-за своих особенностей всплытия и глобальной области видимости. let и const предпочитаются в современном JavaScript из-за их блочной области видимости и контроля над переназначением.

Примитивные типы данных позволяют работать с основными структурами данных, обеспечивая базовую функциональность, необходимую для создания сложных приложений. И это самый популярный язык в мире :)

1
Задача
Модуль 1: Web Core, 17 уровень, 1 лекция
Недоступна
var, let и const
var, let и const
1
Задача
Модуль 1: Web Core, 17 уровень, 1 лекция
Недоступна
Блочная область
Блочная область
Комментарии (6)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Анастасия Уровень 27
29 июля 2025
Ппц... 2 я задача даже на сайте может при одном и том же коде разные проверки не проходить(каждый раз разное выдает)... Из-за этого было много попыток %) + Будьте внимательны - там не только создать переменну нужно, а так же надо прописать ей стартовые значения(почему-то в задании это не написано, только в комментариях кода, который поставляется с задачей, сначала это пропустила, но и снимание на это не обращала....)
Marat Уровень 34
10 июля 2025
В задаче №2 ошибка в комментарии к коду "// Объявление переменной x с использованием var", по условяим задачи объявить с помощью var требуется не "x", а "y".
Андрей Полищук Уровень 23
8 июня 2025
Уникальность значения: Если вы определяете тип данных, который может содержать только одно значение (например, NotApplicable), то это значение является уникальным в рамках этого типа. Другие значения этого типа не могут быть равны этому значению. Уникальность типа: Уникальный тип данных – это тип, который отличается от других типов данных. В то время как null и undefined в JavaScript – это типы данных (примитивные типы), они могут быть использованы как уникальные значения, например, для указания, что значение не существует или не задано. Примеры: null в JavaScript: Это примитивный тип, который представляет отсутствие значения. Значение null уникально в рамках этого типа. undefined в JavaScript: Это другой примитивный тип, который указывает, что переменная была объявлена, но не получила значение. Значение undefined также уникально в рамках этого типа.
No Name Уровень 36
1 июня 2025
В целом, можно сказать я все это уже проходил на курсе java и могу пропускать лекции. различие в том что в javascript тип переменной определяется автоматически в зависимости от значение, а в java явно должно быть указано тип переменной
Gans Electro Уровень 41
27 октября 2025
Эх, он дропнул
Valeriia Reznik Уровень 44
26 апреля 2025
"Если тип состоит из одного значения, которое означает отсутствие значения, то может он все-таки уникальное значение, чем уникальный тип?"