Переменные в javascript: Типы данных

Содержание

Переменные Javascript

Переменные в JavaScript это контейнеры для хранения различных данных.

В следующем примере x, y, z это переменные:

var x = 5;
var y = 6;
var z = x + y; 

Как видно из этого примера, переменные

  • могут хранить значения, как x и y
  • могут использоваться в различных выражениях (z = x + y; в z будет вычислено значение 11)

Идентификаторы JavaScript

Все переменные JavaScript должны идентифицироваться при помощи уникальных имен. Эти уникальные имена называются идентификаторами.

Идентификаторы могут быть короткими (как x и y) или же более описательными (age, sum, totalVolume).

Общие правила составления имен для переменных (уникальных идентификаторов) следующие:

  • Имена могут содержать буквы, цифры, символ подчеркивания (_) и символ доллара ($).
  • Имена должны начинаться с буквы.
  • Также имена могут начинаться с символа доллара ($) и символа подчеркивания (_) (но в данном учебнике это не используется).
  • Имена являются регистрозависимыми (y и Y — разные переменные).
  • Зарезервированные слова (например, ключевые слова JavaScript) не могут использоваться в качестве имен.

Оператор присваивания

В JavaScript знак «равно» (=) является оператором «присваивания», а не оператором «равен чему-то».

И это прямое отличие от математики. В математике следующее выражение не имеет смысла:

 x = x + 5 

В JavaScript же данное выражение вполне себе наполнено смыслом — оно означает, что значение x + 5 присваивается переменной x (вычисляется значение x + 5, а результат помещается в переменную x, т. е. значение в переменной x увеличивается на 5.)

Оператор «равен чему-то» в JavaScript записывается как ==.

Типы данных в JavaScript

Переменные JavaScript могут хранить как числа, так и текст.

В программировании текстовые значения называются текстовые строки.

JavaScript может работать с многими типами данных, но на данном этапе достаточно знать о числах и строках.

Строки записываются в двойных или одинарных кавычках. Числа записываются без кавычек. Если поместить число в кавычки, то оно будет восприниматься обработчиком JavaScript, как текстовая строка.

var pi = 3.14;
var person = "Иван Петров";
var answer = 'Да, это я!'; 

Декларирование (создание) переменных JavaScript

Процесс создания переменной в JavaScript называется «декларирование» переменной.

Переменная JavaScript декларируется при помощи ключевого слова var:

var carName; 

Сразу после декларирования у переменной нет никакого значения. (Вообще-то, технически у такой переменной есть специальное значение — undefined)

Чтобы присвоить переменной значение, следует воспользоваться оператором присваивания:

 carName = "Volvo"; 

Также присвоить значение можно и во время декларирования переменной:

var carName = "Volvo"; 

В следующем примере мы создаем переменную с именем carName и сразу же присваиваем ей значение «Volvo». Затем мы «выводим» значение переменной в HTML параграфе с атрибутом:

<p></p>
<script>
 var carName = "Volvo";
 document.getElementById("demo").innerHTML = carName; 
</script>

Декларирование всех переменных в начале скрипта считается хорошей практикой программирования.

Одно выражение, много переменных

Вы можете декларировать в одном выражении несколько переменных.

Для этого нужно начать выражение с ключевого слова var и разделять декларируемые переменные запятой:

var person = "John Doe", carName = "Volvo", price = 200; 

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

 var person = "John Doe",
 carName = "Volvo",
 price = 200; 

Значение = undefined

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

После выполнения кода следующего примера у переменной carName будет установлено значение undefined:

var carName; 

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

Если вы повторно декларируете переменную JavaScript, то она не потеряет значение, которое у нее было до этого.

После выполнения следующего кода в переменной carName все еще будет храниться значение «Volvo»:

var carName = "Volvo";
var carName; 

Арифметика JavaScript

Как и в математике, с переменными JavaScript вы можете при помощи, например, оператора сложения (+) осуществлять арифметические вычисления:

var x = 5 + 2 + 3;

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

var x = "John" + " " + "Doe"; 

Если поместить число в кавычки, то остальные числа будут восприниматься как строки, и будет проведена операция конкатенации строк:

var x = 2 + 3 + "5";

JS JavaScript Переменные

❮ Назад Дальше ❯


Переменные JavaScript — это контейнеры для хранения значений данных.

В этом примере x, y и z являются переменными:

Пример

var x = 5;
var y = 6;
var z = x + y;

Из приведенного выше примера можно ожидать:

  • x хранит значение 5
  • y хранит значение 6
  • z хранит значение 11

Так же, как алгебра

В этом примере price1, price2 и Total являются переменными:

Пример

var price1 = 5;
var price2 = 6;
var total = price1 + price2;

В программировании, как и в алгебре, мы используем переменные (например, прице1) для хранения значений.

В программировании, как и в алгебре, мы используем переменные в выражениях (Total = прице1 + price2).

Из приведенного выше примера можно вычислить общее число 11.

Переменные JavaScript — это контейнеры для хранения значений данных.



Идентификаторы JavaScript

Все переменные JavaScript должны быть идентифицированы с уникальными именами.

Эти уникальные имена называются идентификаторами.

Идентификаторы могут быть краткими именами (например, x и y) или более описательными именами (возраст, сумма, тоталволуме).

Общие правила построения имен переменных (уникальных идентификаторов):

  • Имена могут содержать буквы, цифры, символы подчеркивания и знаки доллара.
  • Имена должны начинаться с буквы
  • Имена могут также начинаться с $ и _ (но мы не будем использовать его в этом учебнике)
  • Имена чувствительны к регистру (y и y-разные переменные)
  • Зарезервированные слова (например, ключевые слова JavaScript) не могут использоваться в качестве имен

Идентификаторы JavaScript чувствительны к регистру.


Оператор присваивания

В JavaScript знак равенства (=) является оператором «присваивания», а не оператором «Equal to».

Это отличается от алгебры. Следующее не имеет смысла в алгебре:

x = x + 5

В JavaScript, однако, это имеет смысл: он присваивает значение x + 5 в x.

(Вычисляет значение x + 5 и помещает результат в x. Значение x увеличивается на 5.)

Оператор «Equal to» записывается как = = в JavaScript.


Типы данных JavaScript

Переменные JavaScript могут содержать такие числа, как 100, и текстовые значения, такие как «John Doe».

В программировании текстовые значения называются текстовыми строками.

JavaScript может обрабатывать много типов данных, но сейчас, просто подумайте чисел и строк.

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

Если поместить число в кавычки, оно будет рассматриваться как текстовая строка.

Пример

var pi = 3.14;
var person = «John Doe»;
var answer = ‘Yes I am!’;


Объявление (создание) переменных JavaScript

Создание переменной в JavaScript называется «объявлением» переменной.

Объявить переменную JavaScript с помощью ключевого слова var :

var carName;

После объявления переменная не имеет значения. (технически он имеет значение undefined

)

Чтобы присвоить значение переменной, используйте знак равенства:

carName = «Volvo»;

Можно также назначить значение переменной при ее объявлении:

var carName = «Volvo»;

В приведенном ниже примере мы создаем переменную под названием карнаме и присваиваем ей значение «Volvo».

Тогда мы «выход» значение внутри HTML абзац с ID = «демо»:

Пример

<p></p>

<script>
var carName = «Volvo»;
document.getElementById(«demo»).innerHTML = carName;
</script>

Это хорошая практика программирования, чтобы объявить все переменные в начале сценария.


Один оператор, множество переменных

В одном операторе можно объявить множество переменных.

Начните инструкцию с var и разделите переменные запятой

:

var person = «John Doe», carName = «Volvo», price = 200;

Объявление может охватывать несколько строк:

var person = «John Doe»,
carName = «Volvo»,
price = 200;


Значение = не определено

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

Переменная, объявленная без значения, будет иметь значение undefined.

Переменная карнаме будет иметь значение undefined после выполнения этого оператора:

Пример

var carName;


Повторное объявление переменных JavaScript

Если вы повторно объявите переменную JavaScript, она не потеряет свое значение.

Переменная карнаме будет по-прежнему иметь значение «Volvo» после выполнения этих заявлений:

Пример

var carName = «Volvo»;
var carName;


Арифметика JavaScript

Как и в алгебре, вы можете выполнять арифметические действия с переменными JavaScript, используя операторы LIKE = и +:

Пример

var x = 5 + 2 + 3;

Можно также добавлять строки, но строки будут сцеплены:

Пример

var x = «John» + » » + «Doe»;

Также попробуйте это:

Пример

var x = «5» + 2 + 3;

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

Теперь попробуйте это:

Пример

var x = 2 + 3 + «5»;

❮ Назад Дальше ❯

Переменка | JavaScript Camp

Переменные​

Переменные 🔔 (Variables, сокращенно var) — это контейнер 📦 для таких значений, как числа, используемые в сложении ➕ , или строка, которую мы могли бы использовать как часть предложения, а также другие типы данных с которыми мы познакомимся позже.

Видео​

Объявление переменной​

Чтобы использовать переменную, вы сначала должны ее создать🏗️, или, если быть точнее, объявить🗣️ переменную. Чтобы сделать это, мы вводим ключевое🗝️ слово var, за которым следует имя, которое вы хотите дать своей переменной. Приведённая ниже инструкция создаёт🏗️ (другими словами: объявляет🗣️ или определяет) переменную с именем «message»:

function learnJavaScript() { var message = » return message }

Loading…

Здесь мы создаем переменную 🔔 message. В настоящее время ⏱️ она не содержит значение, если сказать точней, то переменная содержит пустую строку.

Присвоение значения переменной​

Как только переменная 🔔 объявлена, ей можно присвоить значение. Для этого пишется 🖊️ имя переменной 🔔 , затем следует знак равенства =, а за ним значение, которое вы хотите присвоить. Например 👇 :

function learnJavaScript() { var message message = ‘My name is …’ //Мы можем получить к ней доступ, используя имя переменной return message }

Loading…

В RESULT значение, которое вы назначили переменной 🔔 , возвращаемой в консоли. Поиграйтесь 🎮 со значениями переменной 🔔 , например дополните выражение своим именем.

Для краткости можно совместить объявление переменной 🔔 и запись 🖊️ в одну строку 👇 :

function learnJavaScript() { var message = ‘Hello!’ // определяем переменную и присваиваем ей значение return message }

Loading. ..

Обновление переменной​

Одна из особенностей переменных 🔔 — их значение может меняться. Когда переменной 🔔 присваивается значение, вы можете изменить (обновить) это значение, просто указав другое значение. Давайте взглянем на простой пример 👇 :

function learnJavaScript() { var message = ‘Bob’ // сейчас message Bob message = true // а теперь message true message = 35 // и в итоге message 35 return message }

Loading…

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

На заметку!

Мы говорим, что переменные содержат значения. Это важное различие. Переменные не являются самими значениями! Они представляют собой контейнеры📦 для значений. Представьте, что они похожи на маленькие картонные коробки📦, в которых вы можете хранить вещи.

Правила именования переменных​

Вы можете назвать переменную 🔔 как угодно, но есть ограничения. Как правило, вы должны придерживаться только латинских символов (0-9, a-z, A-Z) и символа подчеркивания.

  • Не рекомендуется использование других символов, потому что они могут вызывать ошибки или быть непонятными для международной аудитории.
  • Не используйте символы подчеркивания в начале имен переменных 🔔 — это используется в некоторых конструкциях JavaScript для обозначения конкретных вещей.
  • Не используйте числа в начале переменных 🔔 . Это недопустимо и приведет к ошибке.
  • Общепринято придерживаться так называемый «lower camel case»(верблюжийРегистр — camelCase — называется так из-за «горбов» которые образуют первые буквы слов), где вы склеиваете несколько слов, используя строчные буквы для всего первого слова, а затем заглавные буквы последующих слов. Мы использовали это для наших имен переменных 🔔 в этой статье.
  • Делайте имена переменных 🔔 такими, чтобы было интуитивно понятно, какие данные они содержат. Не используйте только отдельные буквы / цифры или большие длинные фразы.
  • Переменные 🔔 чувствительны к регистру, так что myage и myAge — разные переменные 🔔 .
  • И последнее — вам также нужно избегать использования зарезервированных слов JavaScript в качестве имен переменных 🔔 — под этим мы подразумеваем слова, которые составляют фактический синтаксис JavaScript! Таким образом, вы не можете использовать слова типа var, function, let, и for для имен переменных 🔔 . Браузеры распознают их как разные элементы кода, и поэтому возникают ошибки.

Список зарезервированных слов​

Этими словами мы не можем называть переменные 🔔 , так как они зарезервированы в языке JavaScript. break, case, catch, class, const, continue, debugger, default, delete, do, else, export, extends, finally, for, function, if, import, in, instanceof, new, return, super, switch, this, throw, try, typeof, var, void, while, with, yield

Свободная типизация​

JavaScript — это «свободно типизируемый язык👅», что означает, что в отличие от некоторых других языков👅 вам не нужно указывать, какой тип данных будет содержать переменная 🔔 (например, числа, строки, массивы и т. д.).

Например, если вы объявите переменную 🔔 и присвоите ей значение, заключенное в кавычки, браузер будет обрабатывать переменную 🔔 как строку 👇 :

function learnJavaScript() { var myString = ‘Hello’ // Она все равно будет строкой, даже если содержит числа, поэтому будьте осторожны: var myNumber = ‘500’ // упс, это все еще строка (string) myNumber = 500 // так-то лучше, теперь это число (number). Удалите эту строчку и посмотрите на тип данных. return typeof myNumber }

Loading…

Устаревшее ключевое слово «var»​

Обычно var не используется в современных скриптах, но всё ещё может скрываться в старых. Связано это с тем, что он ведет себя не однозначно, поэтому вместо var мы будем использовать let для переменных 🔔 , а const для постоянных — констант.

🔔 Переменка закончилась, бежим на следующий урок!

React Native​

Базовый пример Hello world рассмотренный в первом уроке содержит в себе константу App, содержащую в себе стрелочную функцию с которой мы детальней познакомимся в уроке про функции.

Проблемы?​

Пишите в Discord или телеграмм чат, а также подписывайтесь на наши новости

Вопросы:​

Что такое переменные?

  1. Контейнеры для значений
  2. Переменные значения
  3. Латинские буквы

Что могут содержать переменные?

  1. Только строки и числа
  2. Все типы данных
  3. Только сложные данные и функции

Как прописать команду присвоения переменной?

  1. var
  2. var [название переменной] =
  3. var [название переменной]

Как обновить переменную?

  1. Переменную нельзя обновить
  2. Указать другое значение переменной
  3. Задать специальную команду

Чего нет в правилах именования переменных?

  1. Числа в начале переменных
  2. Не использовать зарезервированные слова
  3. Придерживаться латинских символов

Как прописать значение переменной, чтобы браузер обрабатывал переменную как строку?

  1. Без кавычек
  2. В кавычках
  3. В скобках

Какое ключевое🗝️ слово мы не используем для определения переменных?

  1. let
  2. const
  3. var

Какой вид заглавных букв (т. е. регистр) следует использовать в именах переменных в JavaScript?

  1. case
  2. camel
  3. camelCase

Это допустимый синтаксис JavaScript? Если нет, то почему?

let myMood = \"Curious about JavaScript\" \n let myMood = \"Excited to use my new superpowers\"\n myMood
  1. Вторая переменная без let
  2. Действительно
  3. SyntaxError

Что означает один знак равенства в утверждении?

  1. Сравнить
  2. Значение присваивается переменной
  3. Равенство

Какое ключевое слово следует использовать для создания любой переменной, которая, как вы знаете, не будет изменена?

  1. let
  2. const
  3. var

Когда следует использовать ключевое слово var в собственном коде?

  1. Никогда
  2. Всегда
  3. Часто

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

Ссылки:​

  1. MDN web docs
  2. Код для подростков: прекрасное руководство по программированию для начинающих, том 1: Javascript — Jeremy Moritz
  3. JavaScript.ru

Contributors ✨​

Thanks goes to these wonderful people (emoji key):


Dmitriy Vasilev
📖

Resoner2005
🐛 🎨 🖋

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

JavaScript — это легкий скриптовый язык программирования, состоящий из трех частей:

  • ECMAScript (v4, v5): определяет основные вещи, такие как соглашения об именах, переменные, типы данных, базовый синтаксис, операционные операторы и т. Д. В JS.
  • DOM: объектная модель документа
  • Спецификация: объектная модель браузера

В JavaScript переменные, как следует из названия, являются переменными, которые можно изменять. Переменные в JavaScript — абстрактное понятие. Переменные используются для хранения и представления значений. Понятно, что у меня есть ящик для книг, я назвал этот ящик «Booking Box 1», и ящик для одежды, который я назвал «Clothing Box 1». Эти два имени относятся к двум полям соответственно, и эти два имени являются переменными. Так что же такое ценность? Книги в «Положите книжный ящик 1» и одежду в «Положите ящик для одежды 1» эквивалентны стоимости.

Определить переменную в JavaScript очень просто, достаточно следовать следующему синтаксису:

var имя переменной = значение переменной;

Например:

var bookCase = 10; // Он указывает, что переменная с именем bookCase определена,
                                       // Значение этой переменной (можно понять как прямоугольник) - 10.

из их = Это операция присваивания, левая часть — это имя переменной, а правая — значение переменной.

Переменные в JS свободно типизированы: любой тип данных может быть сохранен через имя переменной var.
Например, в Java, если вы определяете переменную, вам необходимо определить переменную с указанным идентификатором в соответствии с типом переменной, например:

int number = 10; // определяем переменную целочисленного типа
 double number = 10.0; // Определение переменной типа двойной точности
 String str = "hello world"; // Определение переменной строкового типа

А переменные JavaScript слабо типизированы (слабо типизированы), поэтому можно сделать только одну переменную, а именно:

var number = 10;
var number = 10.1;
var str = "hello world";

И вы можете изменить тип переменной в любое время следующим образом:

var a = 10;
a = "hello";
a = true;

Но делать это не рекомендуется.

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

  • JavaScript строго чувствителен к регистру, например:
var str;
var Str;
var sTr;
var STR;
var stR;

Вышеупомянутые 5 переменных представляют собой разные переменные.

  • Рекомендуется использовать номенклатуру регистра верблюда (или стиль языка c). Номенклатура регистра верблюда означает, что первая буква в нижнем регистре, а первая буква каждого другого значимого слова — в верхнем регистре, а имя переменной, в частности, представляет значение, например:
var a = 10; // Не рекомендуется, потому что я не знаю, что такое
 var studentinfo = 'student'; // Не рекомендуется, трудно понять значение переменной выражения
 var studentInfo = 'student'; // Номенклатура случаев верблюда, рекомендуется
 var student_info = 'student'; // название стиля языка c, также можно использовать
  • Вы можете использовать цифры, буквы, символы подчеркивания, $, но числа не могут быть первыми
var a; // разрешено
 var a1; // разрешено
 var a_; // разрешено
 var $; законный
 var _a; законный
 var 1a; // незаконно
  • Нельзя использовать ключевые слова и зарезервированные слова
    Ключевое слово: слова со специальным значением в JavaScript
    Зарезервированные слова: в будущем могут стать ключевыми словами

Классификация типов данных в JavaScript: основные типы данных и ссылочные типы данных. [A-Z] [0-9] {10} $ /; // Regular также является типом объекта данных var fn = function () {// тип данных функции }


Интеллектуальная рекомендация

Компонент шагов ANTD+Vue добавляет пользовательский контент в стиле к панели шагов (ниже)

Если значок, указанный в компоненте Steps в ANTD, не может соответствовать нашим требованиям, вам необходимо использовать пользовательскую картинку для его реализации. Например, реализован следующий п…

Метод Java тяжелая нагрузка и механизм передачи значений

Метод перегрузка концепция: В одном и том же классе разрешен тот же метод имени, до тех пор, пока их параметры или типы параметров различны. Особенности тяжелой нагрузки: Два из одинаковых различий: о…

Разработчик общий сайт

  http://www.hollischuang.com/archives/1459?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io В качестве разработчика Java вы часто должны иметь дело с широким спектром инструме.. .

P4 коммутатор сетевой эксперимент

В настоящее время в моей лаборатории есть коммутатор Edge-core P4, модель которогоWedge 100BF-32XКоммутатор имеет в общей сложности 32 порта 100G, но он может обмениваться данными с сервером 40G через…

gulp-webp генерирует изображения webP в формате .jpg.webp / .png.webp

использоватьgulp-webp Создавать изображения jpg / png в формате webP очень просто, Исходное изображение — 1.jpg, все сгенерированные — 1.webp Лучше напрямую использовать less / sass. 1.jpg.webp прост …

Вам также может понравиться

2018-01-31

проблема: Ошибка запроса ресурса (bg: ресурс, который не нужно запрашивать) решение: 1) Найдите возможные связанные функциональные модули 2) Проверьте, связано ли с запросом место, где активно запраши…

44 Power Query-специфичный метод просмотра функций

Поделитесь учебником по искусственному интеллекту моего учителя! Нулевой фундамент, легко понять!http://blog.csdn.net/jiangjunshow Вы также можете перепечатать эту статью. Делитесь знаниями, приносите…

Используйте основную работу массива для достижения инициализации, значения назначения, значения массива и операции позиционирования массива

Используйте основную работу массива для достижения инициализации, значения назначения, значения массива и операции позиционирования массива Реализация: Определите двухмерный массив B, инициализируйте …

Ошибка HTTP MAPP 404.0 — не найдено решение

Используйте MAMP в Windows New E: \ MAPP \ MAMP \ MAMP \ MAMP \ MAMP \ MAMP \ HTDOCS \ First \ maint.php-файл, используйте сервер Apache и MySQL, а затем открытьhttp://localhost/first/index.phpПоявитс…

Каковы сходства между открытым исходным кодом и кулинарией? Linux Китай

Есть ли хороший способ продвигать дух открытого исходного кода без написания кода? Вот идея: «Кафе с открытым исходным кодом». Флориан Эффенбергер Для полезных ссылок на оригинальный текст…

область видимости простыми словами / Хабр

Доброго времени суток, друзья!

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

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

1. Область видимости

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

Допустим, мы определили переменную:

const message = 'Hello'
console.log(message) // 'Hello'

Мы легко можем вывести ее значение в консоль. Это понятно.

Теперь поместим объявление переменной message в блок if:

if (true) {
    const message = 'Hello'
}
console.log(message) // ReferenceError: message is not defined

На этот раз при попытке доступа к переменной выбрасывается исключение ReferenceError: message is not defined.

Почему это произошло?

Потому что блок if создал область видимости для переменной message. И message доступна только внутри этой области.

Таким образом, доступность переменных ограничена областью видимости, в которой они определены.

Итак, область видимости — это зона доступности переменных.

2. Блочная область видимости

Блок кода в JavaScript определяет область видимости переменных, объявленных с помощью ключевых слов const и let:

if (true) {
    // область видимости блока if
    const message = 'Hello'
    console.log(message) // 'Hello'
}
console.log(message) // ReferenceError

Первый console.log() благополучно выводит значение переменной message в консоль, поскольку доступ к этой переменной осуществляется в той области видимости, в которой она определена.

Однако вызов второго console.log() приводит к возникновению ошибки, поскольку переменная message недоступна во внешней по отношению к ней области видимости: в текущем контексте message не существует.

В инструкциях if, for, while также создается блочная область видимости.

Например:

for (const color of ['green', 'red', 'blue']) {
    // область видимости блока for
    const message = 'Hi'
    console.log(color) // 'green', 'red', 'blue'
    console.log(message) // 'Hi', 'Hi', 'Hi'
}
console.log(color) // ReferenceError
console.log(message) // ReferenceError

Переменные color и message существуют только внутри блока for.

Тоже самое справедливо для инструкции while:

while (/* условие */) {
    // область видимости блока while
    const message = 'Hi'
    console.log(message) // 'Hi'
}
console.log(message) // ReferenceError

message, определенная в while, доступна только внутри данного цикла.

В JavaScript вы можете создавать самостоятельные блоки кода. Они также определяют собственную область видимости:

{
    const message = 'Hi'
    console.log(message) // 'Hi'
}
console. log(message) // ReferenceError

2.1. var не имеет блочной области видимости

Как мы видели в предыдущих примерах, блок кода создает область видимости для переменных, объявленных с помощью ключевых слов const и let. Однако это не работает для переменных, объявленных с помощью ключевого слова var.

Рассмотрим пример:

if (true) {
    // область видимости блока if
    var count = 0
    console.log(count) // 0
}
console.log(count) // 0

Переменная count, как и ожидалось, доступна внутри блока if. Однако, она доступна и за пределами данного блока!

Дело в том, что блок кода не создает области видимости для переменных, объявленных с помощью ключевого слова var. Но это делает функция.

3. Область видимости функции

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

Например:

function run() {
    // область видимости функции run()
    var message = 'Беги, Форрест, беги!'
    console.log(message)
}
run() // 'Беги, Форрест, беги!'
console.log(message) // ReferenceError

Функция run() создает область видимости. Переменная message доступна внутри функции, но недоступна снаружи.

Аналогичным образом функция создает область видимости для переменных, объявленных с помощью const и let, и даже для других функций и функциональных выражений:

function run() {
    // область видимости функции run()
    const two = 2
    let one = 1
    function run2() {}
    var run3 = () => {}
    console.log(two)
    console.log(one)
    console.log(run2)
    console.log(run3)
}
run() // 2 1 ƒ run2() {} () => {}
console.log(two) // ReferenceError
console.log(one) // ReferenceError
console.log(run2) // ReferenceError
console.log(run3) // ReferenceError

4. Область видимости модуля

Модули ES6 также создают область видимости для переменных, функций и классов.

Модуль circle создает константу pi (для внутреннего использования):

// область видимости модуля circle
const pi = 3.14
console.log(pi) // 3.14
// использование pi

Переменная pi объявляется внутри модуля circle и не экспортируется из него.

Затем модуль circle импортируется:

import './circle'
console.log(pi) // ReferenceError

Переменная pi недоступна за пределами модуля circle (до тех пор, пока она не будет экспортирована с помощью export).

Модульная область видимости инкапсулирует модули. Это означает, что частные переменные (которые не экспортируются) используются для собственных нужд модуля и защищены от доступа извне.

Таким образом, можно сказать, что область видимости — это механизм инкапсуляции для блоков кода, функций и модулей.

5. Области видимости могут быть вложенными

Интересной особенностью областей видимости является то, что они могут быть вложены одна в другую.

В следующем примере функция run() создает область видимости, а внутри нее блок if создает еще одну область:

function run() {
    // область видимости функции run()
    const message = 'Беги, Форрест, беги!'
    if (true) {
        // область видимости блока if
        const friend = 'Бубба'
        console.log(message) // 'Беги, Форрест, беги!'
    }
    console.log(friend) // ReferenceError
}
run()

Область видимости блока if вложена в область видимости функции run().

Область видимости, находящаяся внутри другой области, называется внутренней областью видимости. В приведенном примере — это область видимости блока if.

Область видимости, содержащая другую область, называется внешней областью видимости. В приведенном примере — это область видимости фукнции run().

Что насчет доступности переменных? Нужно запомнить простое правило:

Переменные из внешней области видимости доступны во внутренней области.

Поэтому переменная message доступна внутри блока if.

6. Глобальная область видимости

Глобальная область видимости является самой внешней областью. Она доступна для любой внутренней или локальной области видимости. В браузере глобальной является область видимости, создаваемая при загрузке JavaScript-файла, указанного в атрибуте src тега script:

<script src="script.js">

// script.js
// глобальная область видимости
let counter = 1

Переменные, объявленные в глобальной области видимости являются глобальными переменными. Они доступны в любой другой области.

Глобальная область видимости — это механизм, который позволяет среде выполнения JavaScript-кода (браузеру, Node.js) предоставлять приложениям хостовые (т.е. принадлежащие среде) объекты как глобальные переменные.

Например, window и document являются глобальными переменными (объектами), предоставляемыми браузером. В Node.js такой переменной является, например, объект process.

7. Лексическая область видимости

Определим две функции, одна из которых вложена в другую:

function outer() {
    // область видимости функции outer()
    let v = 'Я из области видимости функции outer()!'
    function inner() {
        // область видимости функции inner()
        console.log(v) // 'Я из области видимости функции outer()!'
    }
    return inner
}
const f = outer()
f()

Взгляните на последнюю строку: функция inner() вызывается за пределами области видимости функции outer(). Как JavaScript понимает, что значение, выводимое в консоль в функции inner(), принадлежит переменной v, объявленной в фукнции outer()?

Ответ: благодаря лексической области видимости.

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

Формальное определение лексической области гласит следующее:

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

В приведенном примере лексическая область видимости функции inner() состоит из области видимости функции outer().

Более того, inner() — это замыкание, поскольку в ней используется значение переменной из лексической области видимости.

8. Изоляция переменных

Очевидно, что область видимости изолирует переменные. Благодаря этому разные области видимости могут содержать переменные с одинаковыми именами.

Вы можете использовать переменные count, index, current, value и т.д. в разных областях без угрозы возникновения коллизий (конфликтов имен).

Например:

function foo() {
    // область видимости функции foo()
    let count = 1
    console.log(count) // 1
}
function bar() {
    // область видимости функции bar()
    let count = 2
    console. log(count) // 2
}
foo()
bar()

Заключение

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

В JavaScript области видимости создаются блоками, функциями и модулями.

Переменные, объявленные с помощью ключевых слова const и let могут иметь блочную, функциональную или модульную область видимости, а переменные, объявленные с помощью ключевого слова var, не имеют блочной области видимости.

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

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

Надеюсь статья была вам полезной. Благодарю за внимание.

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

Раздел: Сайтостроение / JavaScript /

Программирование на JavaScript

Видеокурс о программировании на JavaScript. Содержит 8 больших разделов от основ до работы с сетевыми запросами. В комплекте 5 подарков — мини-курсов по темам, связанным с сайтостроением. 72 урока продолжительностью более 13 часов. Упражнения и примеры исходных кодов. Поддержка от автора. Подробнее…

Коротко о переменных в JavaScript я уже говорил здесь. Но там были только самые общие сведения, которых, быть может, достаточно для знакомства с языком, но недостаточно для изучения. Сегодня я расскажу о переменных более подробно (хотя и эти данные тоже не будут исчерпывающими). Если вы хотите знать всё о переменных, то советую обратить внимание на полноценный обучающий курс:

>>> JavaScript, jQuery и Ajax с нуля до гуру >>>

Ну а сейчас второе знакомство с переменными — более насыщенное.

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

Типы переменных в JavaScript

Одно из самых важных отличий JavaScript от таких языков, как Java, C/С++, Паскаль и т.п. — это то, что JavaScript – это нетипизированный (untyped) язык.

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

Так, в JavaScript можно присвоить переменной число, а затем присвоить той же переменной строку:


i = 10;
i = "десять";

В любом строго типизированном языке (а большинство языков именно такими и являются) подобный код недопустим.

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

i = "Число " + 10;

Этот код для JavaScript не является ошибочным. А вот если бы вы попробовали то же самое сделать, например, в С/С++, то компилятор выдал бы ошибку.

Однако большинство программ на JavaScript — это небольшие сценарии, в которых искать такие ошибки проще. Так что программисты могут воспользоваться преимуществами более простого синтаксиса без особого риска получить неприятности в виде ошибок.

Объявление переменных в JavaScript

В JavaScript, как и в большинстве других языков программирования, прежде чем использовать переменную, её надо объявить.

Переменные объявляются с помощью ключевого слова var следующим образом:


var x;
var summa;

Можно объявить несколько переменных через запятую:

var x, summa;

Кроме того, при объявлении переменной её можно инициализировать (то есть присвоить какое-то начальное значение):

 
var msg = "Hello, WORLD!!!";
var i = 0, j = 0, k = 0;

Если начальное значение не задано в инструкции var, то переменная объявляется и её можно использовать, но ее начальное значение будет неопределенным (undefined), пока не будет изменено программой.

СОВЕТ:
Всегда присваивайте переменным начальные значения. Во-первых, так будет сразу понятно, с каким типом данных планируется использовать переменную. Во-вторых, наличие переменной с неопределённым значением может привести к труднонаходимым ошибкам.

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

Чувствительность к регистру

JavaScript — это язык, чувствительный к регистру (также как и С/С++ и некоторые другие языки). Это значит, что ключевые слова, переменные, имена функций и любые другие идентификаторы языка должны всегда содержать одинаковые наборы прописных и строчных букв.

Например, в следующем коде мы объявляем ДВЕ РАЗНЫХ переменных:


var X = 100;
var x = 200;

А если вы попробуете написать в этом коде, например, Var вместо var, то это будет ошибкой, и сценарий не будет выполняться.

Или, можно, например поизвращаться так:

var Var = 500;

Здесь мы объявили переменную Var с помощью ключевого слова var. И это не является ошибкой в JavaScript.

Можно повторить, а можно вообще не объявлять

С помощью инструкции var можно объявить одну и ту же переменную несколько раз. Если повторное объявление содержит инициализатор, то оно действует как обычная инструкция присваивания. Пример:


var X = 100;
var x = 200;
var Var = 0;    //Var содержит число 300
Var = X + x;
var x = 300;    //Var содержит число 400
Var = X + x;

Не запутались? Если запутались, то посмотрите повнимательнее. Кстати, во многих языках повторные объявления недопустимы.

Если переменная не была ранее объявлена, то при попытке прочитать значение этой переменной, JavaScript сгенерирует сообщение об ошибке.

Если переменная не была ранее объявлена с помощью инструкции var, то JavaScript неявно объявит эту переменную автоматически. Примеры:

x = y;

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


y = 555;
x = y;

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

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

СОВЕТ:
Лучше объявлять с ключевым словом var все переменные – и глобальные, и локальные. Так вы привыкнете к хорошему стилю программирования, который позволит совершать меньше ошибок.

Ну и как всегда напоминаю, что эта статья — лишь капля из моря знаний, полностью погрузиться в которое можно здесь:

>>> JavaScript, jQuery и Ajax с нуля до гуру >>>


Что такое JavaScript

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

Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение — ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее…

JavaScript Let

❮ Предыдущий Далее ❯

Невозможно повторно объявить

Переменные, определенные с помощью let , не могут быть повторно объявлены .

Вы не можете случайно повторно объявить переменную.

С пусть вы не можете сделать это:

Пример

пусть x = «Джон Доу»;

пусть х = 0;

// SyntaxError: ‘x’ уже был объявлен

С помощью var вы можете:

Пример

вар х = «Джон Доу»;

вар х = 0;


Область действия блока

До ES6 (2015) JavaScript имел только глобальную область действия и область действия функции .

ES6 представил два важных новых ключевых слова JavaScript: let и const .

Эти два ключевых слова обеспечивают область действия блока в JavaScript.

Невозможно получить доступ к переменным, объявленным внутри блока { } снаружи блока:

Пример

{
  пусть x = 2;
}
// x здесь НЕЛЬЗЯ использовать

Переменные, объявленные с ключевым словом var , НЕ могут иметь блочную область видимости.

Переменные, объявленные внутри блока { }, доступны из вне блока.

Пример

{
  var x = 2;
}
// Здесь можно использовать x


Повторное объявление переменных

Повторное объявление переменной с использованием ключевого слова var может создать проблемы.

Повторное объявление переменной внутри блока также приведет к повторному объявлению переменной вне блока:

Пример

переменная х = 10;
// Здесь x равно 10

{
var x = 2;
// Здесь x равно 2
}

// Здесь x равно 2

Попробуйте сами »

Повторное объявление переменной с использованием ключевого слова let может решить эту проблему.

Повторное объявление переменной внутри блока не приведет к повторному объявлению переменной снаружи блок:

Пример

пусть х = 10;
// Здесь x равно 10

{
let x = 2;
// Здесь х равно 2
}

// Здесь х равно 10

Попробуйте сами »


Поддержка браузера

Ключевое слово let не полностью поддерживается в Internet Explorer 11 или более ранних версиях.

В следующей таблице указаны первые версии браузеров с полной поддержкой ключевого слова let :

Хром 49 Край 12 Фаерфокс 44 Сафари 11 Опера 36
март 2016 г. июль 2015 г. Январь 2015 г. Сентябрь 2017 г. март 2016 г.



Повторное объявление

Повторное объявление переменной JavaScript с var разрешено в любом месте программы:

Пример

переменная х = 2;
// Теперь x равно 2

var x = 3;
// Теперь х равно 3

Попробуйте сами »

С пусть повторное объявление переменной в том же блоке НЕ разрешено:

Пример

переменная х = 2; // Разрешено
let x = 3; // Не разрешено

{
let x = 2; // Разрешено
let x = 3; // Не разрешено
}

{
let x = 2; // Разрешено
var x = 3; // Не разрешено
}

Повторное объявление переменной с let в другом блоке, разрешено:

Пример

пусть х = 2; // Разрешено

{
let x = 3; // Разрешено
}

{
let x = 4; // Разрешено
}

Попробуйте сами »


Let Hoisting

Переменные, определенные с помощью var , поднимаются наверх и может быть инициализирован в любое время.

Значение: Вы можете использовать переменную до ее объявления:

Пример

Это нормально:

carName = «Volvo»;
вар carName;

Попробуйте сами »

Если вы хотите узнать больше о подъеме, изучите главу «Подъем JavaScript».

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

Значение: Использование переменной let до ее объявления приведет к ReferenceError :

Пример

carName = «Saab»;
пусть carName = «Вольво»;

Попробуйте сами »

❮ Предыдущая Далее ❯


NEW

Мы только что запустили
Видео W3Schools

Узнать

COLOR PICKER
КОД ИГРЫ

Играть в игру




Top Tutorials
Учебник по HTML
Учебник по CSS
Учебник по JavaScript
Учебник How To
Учебник по SQL
Учебник по Python
Учебник по W3. CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery

9003

72 Основные ссылки HTML Reference
CSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference


7 Top3 Examples Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры How To
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery


FORUM | О

W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.

Авторское право 1999-2022 по данным Refsnes. Все права защищены.
W3Schools работает на основе W3.CSS.

Javascript: введение в назначение переменных…

Обзор

В этом уроке мы познакомимся с переменными и расскажем, как их объявлять в Javascript.

Цели

  1. Объясните, как объявить переменную в JavaScript
  2. Объясните, какие переменные подходят для
  3. Объявить переменную без присвоения значения
  4. Объявить и определить переменную
  5. Объяснение назначения многострочных переменных

Что такое переменные?

Иногда нам нужно сохранить часть информации, чтобы мы могли обратиться к ней — часто несколько раз — позже. В реальной жизни мы, вероятно, записали бы заметку в блокноте или на стикере.

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

Переменным присваиваются значения с помощью оператора =. Имена переменных обычно все в нижнем регистре; в случае нескольких слов слова соединяются вместе с использованием нижнего верблюжьего регистра.

Вы уже видели пару примеров присвоения переменных:

 var name = "Joe"
переменная высота = 70
 

В последних двух уроках мы просили вас изменить переменные имя и высота . Изменив var name = "Joe" на var name = "Susan" , вы смогли изменить присвоение переменной name , чтобы оно равнялось "Susan" вместо "Joe" .

В этом уроке мы рассмотрим несколько дополнительных примеров объявления переменных.

Объявление переменных

Один из самых простых способов объявить переменную — написать имя переменной, за которым следует знак равенства ( = ), а затем значение, которое мы хотим присвоить переменная. Например, скажем, у меня есть переменная слово . Мы могли бы, если бы мы хотел, напишите:

 слово = 'птица'
 

Это объявит переменную word и присвоит ей значение строки 'птица' . Дело в том, что мы объявили глобальную переменную . Глобальные переменные могут быть доступны в любом месте приложения, что может привести к странному поведению.

Использование глобальной переменной похоже на передачу кому-то заметки на рекламном щите. Конечно, это получает сообщение, но гораздо больше людей, чем необходимо, теперь имеют сообщение.

Что, если, например, мы хотим, чтобы слово имело значение, отличное от 'птица' в какой-то момент приложения? Или что, если бы нам нужно было использовать переменная называется слово , но не это конкретное слово ?

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

Случайная установка переменных в «глобальные» является опасным, неточным кодированием ошибка.

var

В былые времена (1995 г.) в JavaScript был один способ объявить неглобальный переменная: var . Использование ключевого слова var создает локальную переменную , что означает что он доступен только внутри текущей функции, в которой он объявлен. (Тем не менее, это немного сложно — если var не объявлено внутри функции, это на самом деле все еще глобально!)

Плоский факт : Что такое функция? Что ж, функции — это способы организации нашего код, чтобы мы могли запускать его повторно. Чуть позже мы поговорим о функциях. но мы должны упомянуть их здесь, потому что они жизненно важны для понимания область видимости переменных в JavaScript (которой мы займемся более подробно, когда будем функции покрытия). Не беспокойтесь слишком сильно сейчас о том, что именно функция является; мы просто хотим привыкнуть к этому слову.

Ниже приведен пример того, как это работает. Если вы хотите продолжить, в ваш терминал, введите узел . Это откроет узел и позволит вам писать JavaScript прямо в терминале. Кроме того, с помощью Chrome вы можете [откройте консоль в инструментах разработчика вашего браузера][devtools] и вставьте JavaScript там тоже.

 // объявить переменную
вар слово
// присваиваем значение переменной
слово = 'птица'
console.log(word) // 'птица'
// присваиваем другое значение переменной
слово = 'собака'
console.log(слово) // 'собака'
 

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

После того, как мы объявили локальную переменную word с var word , мы можем назначить и переназначить его значение по своему усмотрению.

Мы можем выполнить объявление и присвоение переменных в одной строке, чтобы сохранить пробел:

 var word = 'птица'
 

Что означает, что слово является локальной переменной? Ну, если мы только входим это в консоли не сильно — переменная все равно становится свойством окна , значение… в этом случае «слово» является глобальной переменной (как упоминалось выше). (Перейти вперед, попробуйте набрать window.word в консоли — приготовьтесь удивляться!)

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

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

Сократим приведенный ниже код в одну строку:

 var a = 5
переменная б = 2
переменная с = 3
вар д = 'привет'
вар э = 'до свидания'
 

Вышеприведенное эквивалентно:

 переменная а = 5,
    б = 2,
    с = 3,
    д = 'привет',
    е = 'до свидания';
 

, который можно преобразовать в:

 var a = 5, b = 2, c = 3, d = «привет», e = «до свидания»;
 

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

Лично мы считаем, что лучше объявлять каждую переменную с помощью собственное ключевое слово var . Причудливая запятая избавляет от необходимости печатать немного, но в за счет нестандартного отступа (вы используете два пробела, верно?) и может ввести немного странности, если мы делаем что-то кроме простого назначение.

Изменение значений

Иногда информация меняется — приходится стирать старые записи и набрасывать в ревизиях.

В JavaScript мы можем просто переназначить новое значение переменной.

 var myNote = "Получить молоко"
// позже
myNote = "Получить куки"
 

Когда мы меняем значение переменной, мы не используем var снова . Мы просто используйте = , чтобы присвоить переменной новое значение.

Просмотрите назначение и объявление переменных JavaScript на Learn.co и начните бесплатное обучение программированию.

Переменные JavaScript

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

Переменная может быть объявлена ​​одним из следующих зарезервированных слов JavaScript:

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

Мы узнаем больше о преимуществах let и const в этом уроке, а об основных недостатках var мы узнаем в следующем уроке.

var

Вплоть до ES6, выпущенного в 2015 году, все переменные в JavaScript объявлялись с использованием вар . (ES — это сокращение от ECMAScript, спецификации языка сценариев для JavaScript.) Вот как мы можем объявить переменную, используя var .

 вар мой номер;
 

В приведенном выше примере мы объявляем переменную с именем myNumber . Это еще не имеет значения. На самом деле, если мы проверим его значение в консоли, оно будет undefined . Также обратите внимание на точку с запятой в конце строки. На данный момент мы всегда будем включать точку с запятой в конце каждой строки. Мы сообщим вам, когда это изменится.

Обратите внимание, что первое слово my пишется строчными буквами, а второе слово Число пишется с большой буквы. Это соглашение об именах называется нижний регистр верблюда , потому что буквы нижнего и верхнего регистра немного похожи на горбы верблюда. (Существуют и другие соглашения об именах в верблюжьем регистре, такие как верхний верблюжий регистр, которые помогут понять, когда они необходимы.) любое другое слово в переменной.

Вот еще один пример строчного верблюжьего регистра:

 var thisIsALongNumber;
 

В общем, мы хотим, чтобы имена переменных были короткими и лаконичными, чего в приведенном выше примере, конечно, не происходит. Тем не менее, он иллюстрирует, как выглядит нижний верблюжий регистр.

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

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

 var myNumber = 45;
> не определено
 

В приведенном выше примере myNumber — это число, но, как мы упоминали ранее, переменная может содержать много различных типов объектов. Конечно, мы бы хотели назвать его по-другому, если бы это было что-то другое, чем число, иначе наши имена переменных могли бы сбить с толку других разработчиков.

Обратите внимание, что JavaScript возвращает undefined , потому что var myNumber = 45; — это оператор . Оператор не возвращает значение, что означает, что его возвращаемое значение равно undefined .

Однако это не означает, что myNumber равно undefined . Введите в консоли имя переменной:

 myNumber;
> 45
 

Консоль возвращает значение myNumber , что равно 45 .

Можем изменить myNumber если хотим:

 myNumber = myNumber + 5;
> 50
 

Обратите внимание, что мы больше не используем var при изменении myNumber . Мы используем var только тогда, когда объявляем переменной, то есть когда она впервые появляется в нашем коде.

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

Давайте еще раз посмотрим на приведенный выше пример:

 мойЧисло = мойЧисло + 5;
 

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

Это называется переназначением переменной. Это просто означает, что мы меняем значение переменной на что-то другое. В приведенном выше примере мы делаем следующее:

 Новое значение = исходное значение + изменение, которое мы хотим внести в исходное значение.
 

У нас будет много практики с переназначением переменных, хотя многие разработчики не считают переназначение переменных хорошей идеей. Мы рассмотрим это подробнее, когда доберемся до const .

Вот небольшое сокращение, которое мы можем сделать, это то же самое, что и мой номер = мой номер + 5 :

 мой номер += 5;
 

Вы часто будете видеть (и использовать) это сокращение в JavaScript.

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

 мой номер + 5;
> 50
 

Консоль правильно вернет новое значение. Однако, если мы проверим значение myNumber , мы увидим, что оно не изменилось. Это потому, что мы на самом деле не переназначили значение мой номер . Чтобы на самом деле изменить значение, вы, вероятно, уже догадались, что нам нужно сделать:

 мойЧисло = мойЧисло + 5;
 

В качестве альтернативы мы можем использовать сокращение myNumber +=5 .

Давайте рассмотрим еще одну вещь, которую мы можем делать с переменными. Мы можем объединить несколько вместе, чтобы сделать что-то новое. Вот пример:

 var num1 = 1;
переменная число2 = 2;
переменная число3 = число1 + число2;
 

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

Короче говоря, мы можем делать с переменными все, что мы делаем с вещами, содержащимися внутри этих переменных. Если переменные содержат числа, мы можем делать все, что можем делать с числами. Если они содержат строки, мы можем делать все, что делаем со строками. И так далее и тому подобное.

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

Однако мы не будем использовать var в Epicodus — как мы упоминали ранее, у него есть некоторые проблемы, связанные с let и const адресом. Современные разработчики JavaScript не используют var , и вы тоже не должны этого делать!

let

let — это функция ES6, появившаяся в 2015 году. Как и const , она имеет несколько важных преимуществ по сравнению с var . Во-первых, это более описательно. Мы обсудим это далее в этом уроке. Во-вторых, у него нет проблем с масштабом var имеет. Мы рассмотрим эти конкретные вопросы области позже в этом разделе, когда мы перейдем к ветвлению.

В большинстве случаев let и const работают точно так же, как var . Давайте посмотрим на тот же пример, который мы использовали с var , но на этот раз вместо этого мы будем использовать let . (Вам нужно будет обновить браузер, чтобы сделать это в консоли, иначе вы получите сообщение об ошибке. Мы обсудим эту ошибку ближе к концу этого урока.)

 let myNumber = 45;
мой номер = мой номер + 5;
> 50
 

Как мы упоминали в начале этого урока, мы можем использовать пусть для обозначения переменной, которая будет меняться со временем. Как видите, let уже имеет огромное преимущество перед var . Любой разработчик может сказать, просто взглянув на него, что значение переменной в какой-то момент изменится.

Важным условием хорошего разработчика является умение общаться. Частью хорошего общения является код, который ясно показывает, для чего он предназначен. Если другой разработчик видит пусть перед переменной, они уже узнали что-то важное об этой переменной, чего они не узнали бы всего лишь с var . Это изменится со временем. Теперь они могут захотеть увидеть, где именно это будет меняться и как, особенно если они ищут ошибку или проводят рефакторинг кода.

const

Наконец, у нас есть const , сокращение от константы. Как следует из названия, const — это переменная, которая не меняется со временем — она остается постоянной. По этой причине существует несколько способов, которыми const работает иначе, чем let и var .

Давайте посмотрим на const в действии (сначала обновите браузер):

 const myNumber = 45;
мой номер = мой номер + 5;
 

Если мы попытаемся это сделать, то получим ошибку:

 Uncaught TypeError: Присвоение константной переменной. 
 

Мы не можем переназначить myNumber , потому что это константа. Это очень полезное преимущество, которое дает const , которое мы не можем получить с 9.0007 вар . Это «заморозит» значение нашей переменной, что очень удобно, если мы хотим убедиться, что оно не изменится.

Как и следовало ожидать, нельзя просто объявить константу без присвоения ей значения. Попробуйте это в консоли:

 const thisIsAConstant;
 

Мы получим следующую ошибку:

 Uncaught SyntaxError: Отсутствует инициализатор в объявлении константы
 

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

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

Теперь вернемся к нашему примеру выше. Что, если мы хотим вычислить новое значение на основе myNumber ? Мы можем сделать так:

 const myNumber = 45;
const мойНовыйЧисло = мойЧисло + 5;
мой новый номер;
> 50
 

Нам просто нужно создать новую переменную для хранения нашего нового значения. При этом myNumber не меняется — это по-прежнему 45 . Это потому, что мы не переназначили myNumber . Вместо этого мы объявили новый const с именем 9.0007 myNewNumber и присвоил значение нашей новой переменной.

Многие разработчики считают, что const — это единственный выход, и что мы вообще не должны использовать let или var . Это связано с тем, что когда мы переназначаем переменные, мы можем создать проблему, которую трудно отследить. С let и var мы никогда не можем быть уверены в значении переменной, пока не проверим ее, поскольку всегда возможно, что она изменится. С константа , мы присваиваем значение переменной и тогда мы знаем, что это такое. Нам не нужно беспокоиться о его изменении!

В приведенном выше примере нам не нужно беспокоиться о том, является ли myNumber 45, 50 или чем-то другим. myNumber всегда будет 45, myNewNumber всегда будет 50, и мы всегда можем правильно выбрать имена переменных, чтобы другие разработчики понимали, как меняются значения. Это еще одна возможность четко общаться, что сделает всех счастливыми.

Мы рекомендуем использовать const везде, где это возможно, но вы можете использовать как let , так и const для объявления переменных на этом этапе. На данный момент есть одно жесткое и быстрое правило — не используйте вместо , если значение переменной не изменится в вашем приложении. Даже если все будет работать нормально, это не четкая коммуникация. Это все равно, что сказать: «Да, это изменится… нет, подожди, неважно».

Прежде чем мы двинемся дальше, давайте рассмотрим еще одно преимущество числа 9.0007 let и const over var . Как мы обсуждали ранее в этом уроке, мы должны объявить переменную только один раз.

Попробуйте сделать в консоли следующее (по одному, нажимая Enter после каждого ввода):

 var myNumber = 1;
вар мой номер = 2;
пусть мойЧисло = 3;
константа мое число = 4;
 

Когда мы объявляем myNumber во второй раз с var , JavaScript не жалуется, хотя было бы очень плохой практикой объявлять в приложении две переменные с одинаковыми именами. Почему это плохая практика? Что ж, поскольку мы только начинаем изучать переменные, пока сложно показать пример — однако это может сделать наш код гораздо более ошибочным и ненадежным, поскольку указывает на то, что один или несколько разработчиков пытаются делать разные вещи с двумя разными переменные, но когда наш код будет выполняться, наша машина будет думать, что это одна и та же переменная, потому что у них одинаковое имя, что приведет к проблемам.

Можно сказать по-другому. Если в вашей компании работают две Джейн, велика вероятность, что вы вызовете путаницу, если будете всегда называть их обеих Джейн без какого-либо уточнения, о какой Джейн вы говорите. Вы имели в виду Джейн, старшего разработчика, или Джейн, аналитика данных? Возможно, вам придется называть их Джейн М. и Джейн С. вместо этого.

Возвращаясь к нашему примеру выше, когда мы используем let или const , чтобы попытаться объявить уже объявленную переменную, мы получаем следующую ошибку:

 Uncaught SyntaxError: идентификатор 'myNumber' уже объявлен
 

Это хорошая ошибка! let и const не позволят нам совершить эту ошибку.

Возвращаясь к нашему примеру с двумя Джейн, это было бы похоже на то, как будто кто-то останавливает нас и спрашивает: «Подождите, мы все еще говорим о Джейн С., верно?» А затем, чтобы внести ясность, мы говорили: «Нет, на самом деле, сейчас я говорю о Джейн М. Она будет работать над этим новым проектом».

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

Интерпретатор не пожалуется, если мы сделаем что-то не так — код просто будет выполняться до тех пор, пока что-нибудь не сломается. Но это не полезно для разработчиков. Мы хотим, чтобы все ломалось громко и четко, чтобы мы могли точно видеть, где что-то пошло не так. В противном случае устойчивые ошибки будет трудно найти и исправить — и, что еще хуже, они могут поначалу быть настолько тихими, что прокрадутся в рабочий код, разозлив пользователей наших приложений. Нехорошо, если вы работаете над приложением для банка. Когда доверие пользователя исчезнет, ​​он, вероятно, больше не будет использовать ваше приложение. Точно так же, когда не та Джейн идет на встречу с не тем клиентом, ни Джейн, ни клиент не будут очень довольны. По этой причине нам нужно сочетать хорошую коммуникацию в нашем коде с современными спецификациями JavaScript.

Объявление переменной без

var , let или const

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

 myNumber = 10;
 

В приведенном выше примере мы не используем var , let или const .

Однако это очень плохо по двум причинам.

Причина № 1 связана с несколько более сложной концепцией, называемой областью, о которой мы узнаем позже в этом разделе. Мы не будем подробно рассматривать это сейчас, но достаточно сказать, что если мы объявим переменную таким образом, она будет не только там, где вы думаете, она будет повсюду в вашем коде, потенциально вызывая проблемы. Возвращаясь к нашей коллеге Джейн, это было бы немного похоже на то, как руководитель группы случайно назначил ее на все проектов нашей компании, а не только тот, на котором она сосредоточена.

Причина №2 связана с чистой связью. var , let и const очень четко сообщают другим разработчикам, что объявляется переменная. Написание const myNumber в нашем коде равносильно тому, чтобы сказать: «Всем привет, я представляю новую переменную, которая никогда не должна меняться, под названием myNumber».

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

Так что в дальнейшем обязательно используйте let или const (и предпочтительно const ). JavaScript это не волнует, но другие разработчики будут вам благодарны.

Что такое область действия переменных в Javascript

Каждый язык программирования в современном мире имеет концепцию переменных. Переменные используются для хранения значений (число, строка, логическое значение), которые могут измениться в любой момент времени. Но вы когда-нибудь замечали, что у этих переменных всегда есть область видимости, и вы не можете использовать их вне этой области? В этом руководстве вы изучите область действия переменных в JavaScript.

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

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

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

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

Какова область действия переменных в Javascript?

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

Например, предположим, что у вас есть две разные функции. Сначала вы объявляете переменную в функции 1. Затем вы переходите к следующей функции, то есть к функции 2. Возможно ли, если вы попытаетесь получить доступ к переменной, созданной в функции 1, из функции 2? Это относится к области действия переменной в JavaScript.

 Переменные JavaScript имеют разные области видимости, а именно:

  • Глобальный охват
  • Локальная область
  • Блок прицела
  • Область действия

Подробно ознакомьтесь с различными прицелами.

Что такое глобальная область видимости?

  • Говорят, что любая переменная, объявленная вне функции, имеет глобальную область видимости.
  • Проще говоря, переменная, к которой можно получить доступ в любом месте программы, называется переменной с глобальной областью действия. Глобальные переменные можно определить с помощью любого из трех ключевых слов: let, const и var.

Что такое локальная область?

  • Говорят, что любая переменная, объявленная внутри функции, имеет локальную область видимости. Вы можете получить доступ к локальной переменной внутри функции. Если вы попытаетесь получить доступ к любой переменной, определенной внутри функции, извне или из другой функции, она выдаст ошибку.

  • Поскольку вы не можете получить доступ к локальной переменной извне функции, вы можете иметь переменную с тем же именем и в другой функции.

Что такое область блока?

  • До появления ES6 (ECMAScript 6) в 2015 году в JavaScript было только два типа областей: глобальная область действия и локальная область действия.
  • С введением ключевых слов let и const в JavaScript был добавлен новый тип Scope. Вы не можете получить доступ к переменным, объявленным внутри определенного блока (представленного {}), из-за пределов блока.

  • Область блока не работает с ключевым словом var. Для этого вы можете использовать ключевые слова let или const.

Что такое область действия функции?

  • При создании каждой новой функции создается новая область видимости в JavaScript. Вы не можете получить доступ к переменным, определенным внутри функции, извне функции или из другой функции. Var, let и const работают одинаково при использовании внутри функции.

Строгий режим JavaScript для определения области действия переменной 

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

Чтобы избежать таких ошибок и путаницы, строгий режим был введен в JavaScript с ES5 (ECMAScript 5) в 2009 году.

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

  • Точно так же, как и переменные, строгий режим может использоваться как глобально, так и локально. Если вы напишете «use strict» в начале программы, она будет использоваться глобально. В противном случае вы также можете использовать строгий режим локально внутри функции.

  • Все современные браузеры поддерживают строгий режим, кроме Internet Explorer 9 и его предыдущих версий.

Жизнь переменной в JavaScript

Срок жизни переменной в JavaScript зависит от области видимости этой переменной. Он начинается, когда он объявляет переменную.

  • Локальная переменная существует, пока функция не выполняется. В момент завершения функции локальная переменная удаляется.
  • : Глобальная переменная существует до тех пор, пока пользователь не закроет программу или пока не закроется веб-браузер. Однако, если пользователь меняет окно, не закрывая программу, глобальная переменная остается там.

На этом вы достигли конца этого руководства «Область действия переменных в JavaScript».

Освойте все основы JavaScript, jQuery, Ajax и многое другое с помощью сертификационного учебного курса по JavaScript. Ознакомьтесь с предварительным просмотром курса!

Заключение

В этом руководстве вы изучили область действия переменных в JavaScript. Объем зависит от двух аспектов:

  • Где объявлена ​​переменная
  • Как объявлена ​​переменная

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

Вы заинтересованы в расширении своих знаний о JavaScript или ищете онлайн-обучение программированию на JavaScript?

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

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

Переменные JavaScript

  • Введение в переменные JavaScript
  • Использование var
  • Использование пусть
  • Использование константы

Введение в переменные JavaScript

Переменная — это литерал, присвоенный идентификатору, поэтому вы можете ссылаться на нее и использовать ее позже в программе.

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

Вот почему JavaScript иногда называют «нетипизированным».

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

Использование

var

До ES2015 var была единственной конструкцией, доступной для определения переменных.

 переменная а = 0
 

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

В современных средах при включенном строгом режиме вы получите сообщение об ошибке. В более старых средах (или с отключенным строгим режимом) это инициализирует переменную и присваивает ее глобальному объекту.

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

 var a //тип a === 'undefined'
 

Вы можете многократно переопределять переменную, переопределяя ее:

 var a = 1
вар а = 2
 

Вы также можете объявить несколько переменных одновременно в одном операторе:

 var a = 1, b = 2
 

Область — это часть кода, где переменная видна.

Переменная, инициализированная с помощью var вне какой-либо функции, присваивается глобальному объекту, имеет глобальную область действия и видна везде. Переменная, инициализированная var внутри функции назначается этой функции, она локальна и видна только внутри нее, как и параметр функции.

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

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

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

Использование

let

let — это новая функция, представленная в ES2015, и по сути это блочная версия 9.0007 вар . Его область действия ограничена блоком, оператором или выражением, в котором оно определено, и всеми содержащимися внутренними блоками.

Современные разработчики JavaScript могут использовать только let и полностью отказаться от использования var .

Если пусть кажется неясным термином, просто прочитайте пусть цвет = «красный» как пусть цвет будет красным и все это имеет гораздо больше смысла

Определение пусть вне какой-либо функции — вопреки var — не создает глобальную переменную.

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

Использование

const

Переменные, объявленные с помощью var или let , могут быть позже изменены в программе и переназначены. Раз в const инициализируется, его значение больше никогда не может быть изменено, и ему нельзя переназначить другое значение.

 const a = 'тест'
 

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

const не обеспечивает неизменяемость, просто гарантирует, что ссылка не может быть изменена.

const имеет блочную область действия, такую ​​же, как пусть .

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

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

Загрузите мой бесплатный справочник по JavaScript!

Введение в переменные — JavaScript 101

JavaScript 101 — это серия обучающих видеороликов, предоставленных инструкторами DevMountain по веб-разработке. Нажмите здесь, чтобы посмотреть всю серию видео.

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

Транскрипция видео

Переменные — одна из наиболее распространенных концепций, которые вы собираетесь использовать в коде. Независимо от того, что вы делаете, вы, вероятно, будете использовать переменную, чтобы помочь вам решить вашу проблему. Мы делаем это, присваивая информацию уникальному идентификатору или ключевому слову. Если вы когда-либо использовали букву в математике, вы знаете, о чем я говорю.

Что такое переменные?

Переменные — это хранилище, особенно для хранения данных. Весь код — это данные внизу. Мы можем хранить числа, символы, предложения, картинки и все что угодно внутри переменных. Есть огромное количество вещей, которые мы можем хранить, и мы углубимся в них в следующем видео. Сейчас мы хотим поговорить о том, что каждая переменная идентифицируется уникальным именем, которое вы ей даете. Компьютер запоминает вашу переменную под этим именем именно так, как вы ее написали. После того, как вы создали переменную, метка, которую вы ей дали, прикрепляется к данным, хранящимся внутри нее. Тогда всякий раз, когда вы записываете идентификатор для переменной, компьютер будет понимать, что вы на самом деле имеете в виду данные, хранящиеся внутри него.

Понимание переменных

Если посмотреть на это с другой стороны, переменные подобны ведрам с этикетками на них. Ведра могут вместить все виды вещей. Допустим, у нас было три ведра: вода, песок и мармеладные мишки. Мы наклеиваем на каждую этикетку, которая соответствует воде, песку и мармеладным мишкам, чтобы мы могли помнить, что внутри. Если мы попросим нашего друга принести нам ведро мармеладных мишек и просто скажем «принеси мне мармеладных мишек», он принесет вам все ведро. Он не собирается приносить вам каждого мармеладного мишку по одному. Он не собирается срывать этикетку с ведра и просто даст вам этикетку с надписью «мармеладные мишки». Он собирается принести вам то, что хранилось за этикеткой.

Использование переменных в программировании

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

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

Одним из основных способов использования переменных является простое хранение и отслеживание информации. Веб-сайты используют их для запоминания имен, паролей, дней рождения и множества другой информации. Если бы мы использовали простое приложение, которое поможет нам вести обратный отсчет до нашего дня рождения, приложение могло бы запросить у нас наше имя и сохранить его в переменной с именем first name. Затем он может запросить у нас день рождения и сохранить его в переменной с именем Birthday. Затем приложение может получить доступ к переменной дня рождения позже, сравнить ее с текущим днем ​​​​и отсчитать, сколько дней для нас. Затем он может снова получить доступ к дню рождения с нашим именем и показать нам обратный отсчет, сколько дней до нашего дня рождения вместе с нашим именем и текущей датой.

Обычная ошибка

Одна из самых распространенных проблем, с которой сталкиваются люди, приступая к изучению переменных, заключается в том, чтобы научиться различать переменную и данные, которые она представляет. Много раз мы будем использовать данные вместо имени переменной. Чтобы преодолеть это, мы собираемся немного попрактиковаться, чтобы это стало для нас привычным и привычным. Далее давайте погрузимся в практику.

Практика

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

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

Мы увидим, как этот паттерн повторяется несколько раз. Мы также можем изменить этот шаблон, указав только ключевое слово и метку, а позже мы можем использовать значение метки равное. Метка ключевого слова устанавливает хранилище. Знак равенства — это то, что помещает что-то в хранилище. Эта половина создания переменной называется объявлением. Вторая половина создания переменной называется присваиванием.

Давайте посмотрим на несколько примеров с реальным кодом, а не просто с заполнителями. Я мог бы написать электронное письмо и закончить это заявление. Затем я могу присвоить электронной почте значение позже, поэтому электронная почта будет равна [email protected]. Это не мой адрес электронной почты или действительный адрес электронной почты. Здесь у меня видны оба паттерна. У меня есть объявление и назначение в одной строке. Эта часть является объявлением, а эта часть — назначением. Технически эта часть является назначением, потому что она говорит нам, куда ее поместить. Эта часть объявляет переменную, а эта часть назначает переменную. Вы увидите различия в обоих этих шаблонах, которые широко используются в JavaScript. Это станет действительно знакомым очень быстро.

Мы обеспечиваем это различие, потому что есть еще несколько вещей, которые мы можем сделать. Одной из таких вещей являются некоторые новые ключевые слова, которые были введены в ES6 сравнительно недавно в мире JavaScript. Эти ключевые слова let и const. Let и const работают так же, как ключевое слово var, за исключением того, что у них есть некоторые дополнительные функции. Const делает так, что мы не можем изменить значение, поэтому const hello равно hello. Затем, если я попытаюсь изменить приветствие на прощание, JavaScript выдаст ошибку, сообщающую мне, что это недопустимо. Вы не должны верить мне на слово. Одна из замечательных особенностей нашего редактора кода заключается в том, что он дает нам пару инструментов для проверки того, что делает наш код.

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

Я запустил свое приложение, пока объяснял это. Он закончил работу и выдал мне целую кучу красного текста. Красный текст в программировании означает, что у нас возникла проблема, что-то сломалось. Он говорит мне, что у меня есть ошибка, и эта ошибка — это присваивание константной переменной. Мы сделали именно это.

Мы создали константную переменную, а затем попытались присвоить ей второй раз, и это не сработало. Если я удалю это и снова нажму зеленую кнопку, моя консоль стирается, она выполняет код, и на этот раз я не получаю никакой ошибки. Я также не получаю никакого вывода по умолчанию. Эта область, с которой мы здесь работаем, называется консолью. Для взаимодействия с консолью в нашем коде мы можем набрать console.log, а затем указать, что мы хотели бы видеть. Мы могли бы дать ему строку, как это работает. Я собираюсь снова запустить код, щелкнув зеленую стрелку, и я вижу, что это работает.

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

Мы узнали о консольном логе, отладке, vars, еще кое о чем в этом списке, пусть, как я упоминал минуту назад. Мы можем ввести ключевое слово let, и оно будет работать так же, как var. Допустим, возраст равен 999. Я довольно стар. Это возраст, и мы поставили его на let, и он работает так же, как var, за некоторыми исключениями, которые мы просто не продвинулись достаточно далеко, чтобы вдаваться в подробности. На протяжении большей части этого курса вы будете использовать ключевое слово var.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *