Переменные — это именованные контейнеры, в которых хранятся данные всех форм на любом языке программирования. Часть информации, на которую мы можем ссылаться несколько раз, может быть сохранена в переменной для последующего использования или модификации. В javaScript значение, хранящееся в этих контейнерах, может иметь любой тип данных (строка, целое число или объект). Чтобы использовать переменную, есть две основные части: первая — это объявление переменной, а другая — определение переменной.

Именование переменной:

Все переменные в JavaScript должны быть уникальными, и лучший способ сделать их уникальными — дать им имена. Эти уникальные имена называются идентификаторами. имейте в виду, называя переменную. Правило:

  1. Имя может содержать буквы, цифры и символы (только знак подчеркивания и хэштег).
  2. Имя должно начинаться с буквы. Мы не можем начинать имя переменной с цифры.
  3. Имена чувствительны к регистру, поэтому A и a являются разными переменными.
  4. Мы не можем использовать зарезервированные ключевые слова (например, let, class, function и т. д.) в качестве имени.

Объем переменных:

Область в JavaScript относится к текущему контексту кода, который определяет доступность переменных для JavaScript. В JavaScript есть два типа областей видимости.

  1. Глобальная область действия. Переменная, объявленная за пределами какого-либо функционального блока, называется глобальной переменной, и эти переменные имеют глобальную область действия, что означает, что они будут доступны во всем коде.
  2. Локальная область действия: переменная, объявленная внутри функции, называется локальной переменной этой функции, и эта переменная будет иметь локальную или функциональную область действия, что означает, что к этой переменной можно получить доступ из функции.

Здесь «gVar» — это глобальная переменная, доступ к которой можно получить как внутри функции, так и во всем коде, в то время как «lVar» — это локальная переменная функции, которая может быть доступ внутри из функции.

Автоматически глобально

Когда переменной присваивается значение, но она не объявлена, она автоматически становится глобальной переменной. Если идентификатор переменной внутри функции по-прежнему будет рассматриваться как глобальная переменная.

Объявление машин JavaScript:

Объявление переменных там, где сначала можно было сделать только с помощью ключевого слова Var. По мере того, как мы продвигались во времени после 2015 года, ES6 (ECMAScript 2015) познакомил нас с еще двумя ключевыми словами: Const и Let.

Подробнее об этих ключевых словах

Var — одно из старейших ключевых слов, которое можно использовать для объявления переменных в javaScript. Нам просто нужно использовать ключевое слово var и добавить после него имя переменной. Давайте посмотрим, как мы можем это сделать.

Здесь x будет хранить 1, y будет хранить 2 и аналогично z будет хранить 3, и когда мы печатаем вывод, мы получаем 3. Переменная может быть переобъявлена ​​​​и обновлена. мы можем объявить одну и ту же переменную снова и снова в одной и той же области видимости, и мы не получим никакой ошибки.

Проблемы с var:

Давайте посмотрим на пример ниже

здесь происходит то, что с времен › 3 переменная приветствие переопределяется и дает вывод «скажи привет вместо этого». Теперь все в порядке, если мы хотим, чтобы переменная была изменена, если условие истинно, но в случаях, когда мы не хотим, чтобы изменение происходило вне блока функции, это будет большой проблемой.

Все эти проблемы дали место для лучших ключевых слов объявления переменных, которые являются сильными, и такие ключевые слова были введены в Javascript ES6. это Let и Const.

Let теперь предпочтительнее для объявления переменных, чем Var. Причины превосходства Let довольно просты. Let имеет блочную область действия, что означает, что если переменная объявлена ​​с парой круглых скобок{}, используя Let, тогда она будет иметь область действия в круглых скобках.

Поскольку мы можем видеть, что переменная выводит «скажи привет вместо этого», когда она находится внутри функции, а вне функции, даже если условие истинно, мы видим, что вывод будет «привет, привет». Это особенность Let. Пусть не может быть переопределен в пределах той же области, его можно только обновить. Как показано в примере ниже, когда мы пытаемся обновить переменную в той же области, что и у нас.

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

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

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

Const — еще одно ключевое слово, которое можно использовать для объявления переменной. Переменная, объявленная с помощью ключевого слова Const, поддерживает постоянное значение. Const более или менее похоже на ключевое слово Let.

Const также имеет область действия блока, как и Let, что означает, что он будет доступен только в блоке объявления. Const можно переопределить в том же блоке, но всегда можно обновляться.

Итак, чтобы суммировать разницу между Var Let и Const, мы можем обратиться к таблице:

Подъем:

Подъем, когда мы определяем его строго, означает, что переменные и функции перемещаются вверх нашего кода, независимо от того, где мы их определяем. Но на самом деле это не полная правда. На самом деле происходит то, что переменные и функции остаются на своих местах и ​​никуда не перемещаются. Что же происходит на самом деле?

Когда код компилируется, объявления переменных и функций сохраняются в памяти, и все функции становятся доступными, а переменные становятся неопределенными.

Давайте разберемся с этим на примере

когда код компилируется, код знает, что есть функция с именем «add», объявленная ниже, и переменная с именем «varOne», также объявленная ниже, и он просто сохраняет объявления в памяти. Итак, что он делает, так это позволяет нам выводить функция, которая означает, что «функция доступна независимо от позиции вызова и объявления», в то время как переменная становится неопределенной, а не ошибкой, потому что она знает, что переменная была объявлена ​​​​ниже, что означает, что в случае переменных поднимается только объявление, а в случае инициализации функции также поднимается.

Обратите внимание, что переменная var может быть поднята в глобальном масштабе, в то время как let и Const поддерживают подъем только на уровне блока. Это означает, что переменные Var инициализируются с помощью undefined, Let и Const переменные не инициализированы.

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

Строгий режим:

Представленное в ES5 это буквальное значение ключевого слова «Strict». Использование этого режима не позволит использовать паршивый код и синтаксис, поскольку он выдает ошибку, когда мы используем необъявленные переменные.

Декларация о строгом режиме:

Строгий режим объявляется добавлением «use strict»; к началу скрипта или функции. Объявленный в начале скрипта, он имеет глобальную область действия (весь код в скрипте будет выполняться в строгом режиме).

Мы также можем объявить его в начале любой функции, и он будет иметь только функциональную область действия.

Почему строгий режим?

Строгий код помогает нам писать более качественный и чистый код на Javascript, превращая ранее принятый неверный синтаксис в настоящие ошибки. Например, в обычном JavaScript опечатка в имени переменной создает новую глобальную переменную. В строгом режиме это вызовет ошибку, что сделает невозможным случайное создание глобальной переменной.

Что запрещено в строгом режиме?

  1. Использование переменных без объявления не допускается.
  2. Использование объекта без объявления не допускается.
  3. Удаление переменной (или объекта) не допускается.
  4. Удаление функции запрещено.
  5. Дублирование имени параметра не допускается.
  6. Восьмеричные числовые литералы не допускаются.
  7. Запись в свойство только для чтения не допускается.
  8. Запись в свойство только для чтения не допускается.

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

https://rader30.me/