Переменная по определению является «именованным пространством в памяти», в котором хранятся значения. Другими словами, он действует как контейнер для значений в программе. Имена переменных называются идентификаторами . Ниже приведены правила именования идентификатора.
-
Идентификаторы не могут быть ключевыми словами.
-
Идентификаторы могут содержать буквы и цифры.
-
Идентификаторы не могут содержать пробелы и специальные символы, кроме знака подчеркивания (_) и знака доллара ($).
-
Имена переменных не могут начинаться с цифры.
Идентификаторы не могут быть ключевыми словами.
Идентификаторы могут содержать буквы и цифры.
Идентификаторы не могут содержать пробелы и специальные символы, кроме знака подчеркивания (_) и знака доллара ($).
Имена переменных не могут начинаться с цифры.
Введите Синтаксис
Переменная должна быть объявлена перед использованием. Синтаксис ES5 использовал ключевое слово var для достижения того же. Синтаксис ES5 для объявления переменной выглядит следующим образом.
//Declaration using var keyword var variable_name
ES6 вводит следующий синтаксис объявления переменных —
- Используя let.
- Используя const.
Инициализация переменной относится к процессу сохранения значения в переменной. Переменная может быть инициализирована либо во время ее объявления, либо в более поздний момент времени.
Традиционный синтаксис типа ES5 для объявления и инициализации переменной выглядит следующим образом:
//Declaration using var keyword var variable_name = value
Пример: использование переменных
var name = "Tom" console.log("The value in the variable is: "+name)
Приведенный выше пример объявляет переменную и печатает ее значение.
Следующий вывод отображается при успешном выполнении.
The value in the variable is Tom
JavaScript и динамическая типизация
JavaScript — это не типизированный язык. Это означает, что переменная JavaScript может содержать значение любого типа данных. В отличие от многих других языков, вам не нужно указывать JavaScript во время объявления переменной, какой тип значения будет содержать переменная. Тип значения переменной может измениться во время выполнения программы, и JavaScript автоматически позаботится об этом. Эта функция называется динамической типизацией .
JavaScriptVariable Scope
Область действия переменной — это область вашей программы, в которой она определена. Традиционно JavaScript определяет только две области: глобальную и локальную.
-
Глобальная область действия. Доступ к переменной с глобальной областью действия можно получить из любой части кода JavaScript.
-
Локальная область действия. Доступ к переменной с локальной областью действия можно получить из функции, в которой она объявлена.
Глобальная область действия. Доступ к переменной с глобальной областью действия можно получить из любой части кода JavaScript.
Локальная область действия. Доступ к переменной с локальной областью действия можно получить из функции, в которой она объявлена.
Пример: глобальная или локальная переменная
В следующем примере объявляются две переменные с именем num — одна вне функции (глобальная область), а другая внутри функции (локальная область).
var num = 10 function test() { var num = 100 console.log("value of num in test() "+num) } console.log("value of num outside test() "+num) test()
Переменная при обращении к ней отображает значение переменной локальной области видимости. Тем не менее, переменная num при доступе вне функции возвращает экземпляр глобальной области видимости.
Следующий вывод отображается при успешном выполнении.
value of num outside test() 10 value of num in test() 100
ES6 определяет новую переменную область действия — область действия блока.
Позволить и заблокировать область
Область действия блока ограничивает доступ переменной к блоку, в котором она объявлена. Ключевое слово var назначает область действия переменной. В отличие от ключевого слова var ключевое слово let позволяет скрипту ограничивать доступ к переменной ближайшим включающим блоком.
"use strict" function test() { var num = 100 console.log("value of num in test() "+num) { console.log("Inner Block begins") let num = 200 console.log("value of num : "+num) } } test()
Сценарий объявляет переменную num в локальной области функции и повторно объявляет ее в блоке, используя ключевое слово let. Значение переменной с локальной областью выводится, когда к переменной обращаются за пределами внутреннего блока, а переменная с областью видимости указывается внутри внутреннего блока.
Примечание . Строгий режим — это способ выбора ограниченного варианта JavaScript.
Следующий вывод отображается при успешном выполнении.
value of num in test() 100 Inner Block begins value of num : 200
Пример: let v / s var
var no = 10; var no = 20; console.log(no);
Следующий вывод отображается при успешном выполнении вышеуказанного кода.
20
Давайте перепишем тот же код, используя ключевое слово let .
let no = 10; let no = 20; console.log(no);
Приведенный выше код выдаст ошибку: идентификатор «нет» уже был объявлен. Любой переменной, объявленной с использованием ключевого слова let, назначается область блока.
Const
Объявление const создает доступную только для чтения ссылку на значение. Это не означает, что значение, которое оно содержит, является неизменным, просто то, что идентификатор переменной не может быть переназначен. Константы имеют блочную область, во многом как переменные, определенные с помощью оператора let. Значение константы не может быть изменено путем повторного присваивания и не может быть повторно объявлено.
Следующие правила выполняются для переменной, объявленной с использованием ключевого слова const —
-
Константы не могут быть переназначены значения.
-
Константа не может быть повторно объявлена.
-
Константа требует инициализатора. Это означает, что константы должны быть инициализированы во время объявления.
-
Значение, присвоенное переменной const, является неизменным.
Константы не могут быть переназначены значения.
Константа не может быть повторно объявлена.
Константа требует инициализатора. Это означает, что константы должны быть инициализированы во время объявления.
Значение, присвоенное переменной const, является неизменным.
пример
const x = 10 x = 12 // will result in an error!!
Приведенный выше код вернет ошибку, поскольку константы не могут быть переназначены значения. Переменные константы неизменны.
ES6 и переменный подъем
Область действия переменной, объявленной с помощью var, является ее текущим контекстом выполнения, который является либо включающей функцией, либо, для переменных, объявленных вне какой-либо функции, глобальным. Подъем переменной позволяет использовать переменную в программе JavaScript даже до ее объявления.
Следующий пример лучше объясняет эту концепцию.
Пример: Переменный Подъем
var main = function() { for(var x = 0;x<5;x++) { console.log(x); } console.log("x can be accessed outside the block scope x value is :"+x); console.log('x is hoisted to the function scope'); } main();
Следующий вывод отображается при успешном выполнении вышеуказанного кода.
0 1 2 3 4 x can be accessed outside the block scope x value is :5 x is hoisted to the function scope
Механизм JavaScript внутренне представляет скрипт как —
var main = function() { var x; // x is hoisted to function scope for( x = 0;x<5;x++) { console.log(x); } console.log("x can be accessed outside the block scope x value is :"+x); console.log('x is hoisted to the function scope'); } main();
Примечание . Концепция подъема относится к объявлению переменных, но не к их инициализации. Рекомендуется всегда объявлять переменные в верхней части их области видимости (верхняя часть глобального кода и верхняя часть кода функции), чтобы код разрешал область видимости переменной.