Ключевые слова Javascript

Ключевые слова Javascript

В этой статье вы познакомитесь поближе с ключевыми словами в Javascript: с теми, которые были, есть и будут. А также узнаете, в каких случаях их все-таки можно использовать и не бояться последствий.

Ключевые слова в JavaScript — это зарезервированные идентификаторы, которые имеют определенную функциональность и не могут быть использованы в качестве имен переменных или функций.

Актуальный словарь

  • var — объявляет переменную с функциональной или глобальной областью видимости
  • let — объявляет переменную с блочной областью видимости
  • const объявляет константу
  • function — определяет функцию
  • return — возвращает значение из функции или прерывает ее выполнение
  • class —  определяет класс (специальный тип объекта)
  • if — начинает условный оператор if, который выполняет блок кода, если условие истинно
  • else — определяет блок кода для выполнения, если условие в операторе if или else if ложно
  • switch — начинает оператор switch, который проверяет значение на соответствие разным случаям (case) и выполняет соответствующий блок кода
  • case — определяет блок кода для выполнения в операторе switch
  • default — определяет блок кода по умолчанию для выполнения в операторе switch
  • break — прерывает выполнение цикла или оператора switch
  • continue — пропускает текущую итерацию цикла и продолжает следующую
  • for — начинает цикл for, который повторяется определенное количество раз или пока выполняется условие
  • while — начинает цикл while, который повторяется, пока выполняется условие
  • do — начинает блок кода для выполнения в цикле do...while.
  • try — начинает блок кода, который может вызвать ошибку или исключение, и пытается выполнить его
  • catch — определяет блок кода для обработки ошибок в операторе try...catch
  • finally — определяет блок кода для выполнения после оператора try...catch, независимо от того, была ли ошибка или нет
  • debugger — вызывает отладчик (если он доступен) для проверки кода
  • delete — удаляет свойство объекта или элемент массива
  • export — экспортирует значение или функцию из модуля для использования в других модулях
  • extends — наследует свойства и методы от другого класса
  • import — импортирует значение или функцию из другого модуля для использования в текущем модуле
  • in — проверяет, есть ли свойство в объекте или индекс в массиве
  • instanceof — проверяет, является ли объект экземпляром определенного класса или типа
  • new — создает новый объект с помощью конструктора
  • null — представляет отсутствие значения или объекта
  • super — вызывает конструктор или метод родительского класса
  • this — указывает на текущий объект или контекст выполнения функции
  • throw — выбрасывает ошибку или исключение, которое может быть поймано и обработано в операторе try...catch
  • typeof — возвращает тип значения или переменной в виде строки
  • void — выполняет выражение, но не возвращает его значение
  • with — начинает блок кода, в котором можно использовать свойства объекта без указания его имени
  • yield — приостанавливает выполнение функции-генератора и возвращает значение.

Исключения в использовании зарезервированных слов

Хотя зарезервированные слова не могут быть использованы в качестве идентификаторов, они могут быть использованы в качестве свойств объектов или строковых литералов, например:

var obj = {
    for: 'loop', // это свойство объекта с именем for
    while: 'cycle', // это свойство объекта с именем while
    break: 'stop' // это свойство объекта с именем break
};

console.log(obj.for); // выводит loop
console.log(obj['while']); // выводит cycle
console.log(obj.break); // выводит stop

var str = 'for while break'; // это строковый литерал, содержащий зарезервированные слова

console.log(str); // выводит for while break

Ключевые слова, зарезервированные на будущее

Кроме ключевых слов, в JavaScript есть также слова, которые зарезервированы на будущее, то есть они могут стать ключевыми словами в будущих версиях языка. Давайте разберемся, за что отвечает каждое из этих слов:

  • await — ожидает выполнения асинхронной операции или функции
  • enum — определяет перечисление (набор именованных констант)
  • implements — указывает, что класс реализует интерфейс (набор свойств и методов, которые должен иметь класс)
  • interface — определяет интерфейс (набор свойств и методов, которые должен иметь класс)
  • package — определяет пакет (группу связанных модулей или классов)
  • private — указывает, что свойство или метод класса доступно только внутри этого класса
  • protected — указывает, что свойство или метод класса доступно только внутри этого класса или его наследников
  • public — указывает, что свойство или метод класса доступно для всех
  • static — указывает, что свойство или метод класса принадлежит самому классу, а не его экземплярам.

Ключевые слова в более старых версиях языка

В более старых версиях JavaScript были также зарезервированы некоторые слова, которые использовались в других языках программирования, таких как Java или C++. У некоторых пользователей сохранились старые версии браузеров на компьютерах, которые не поддерживают ES5 или ES6 стандарты. Если ваш проект рассчитан такой случай, то вам также придется запомнить этот список слов:

  • abstract — определяет абстрактный класс или метод (тот, который не может быть создан или реализован напрямую)
  • boolean — определяет логический тип данных (тот, который может принимать значения true или false)
  • byte — определяет целочисленный тип данных (тот, который может принимать значения от -128 до 127)
  • char — определяет символьный тип данных (тот, который может принимать значения от 0 до 65535)
  • double — определяет дробный тип данных с двойной точностью (тот, который может принимать значения с 15 знаками после запятой)
  • final — указывает, что значение, переменная, свойство или метод не может быть изменено или переопределено
  • float — определяет дробный тип данных с одинарной точностью (тот, который может принимать значения с 7 знаками после запятой)
  • goto — переходит к определенной метке в коде
  • int — определяет целочисленный тип данных (тот, который может принимать значения от -2147483648 до 2147483647)
  • long — определяет целочисленный тип данных с большим диапазоном значений (тот, который может принимать значения от –9223372036854775808 до 9223372036854775807)
  • native — указывает, что метод реализован на другом языке программирования и вызывается из JavaScript
  • short — определяет целочисленный тип данных с меньшим диапазоном значений (тот, который может принимать значения от -32768 до 32767)
  • synchronized — указывает, что блок кода или метод может быть выполнен только одним потоком одновременно
  • throws — указывает, что функция или метод может выбросить исключение при выполнении
  • transient — указывает, что свойство объекта не должно быть сериализовано при сохранении объекта в файл или передаче по сети
  • volatile — указывает, что значение переменной может быть изменено другими потоками без предупреждения.

На данный момент эти слова можно смело использовать для именования переменных и прочих шалостей в большинстве проектов, рассчитанных на современные браузеры.

Софья Пирогова

Софья Пирогова

Главный редактор / Автор статей
Георгий Бабаян

Георгий Бабаян

Основатель и CEO Эльбрус Буткемп