В этом разделе мы обсудим 3 способа объявления переменной в javascript.

//Original, function scope
var foo = “Hello world”
// Similar to var, block scope
let foo = “Hello world”
// Cannot be re-assigned
const foo = “Hello world”

вар

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

Как вы видите выше, мы создали переменную var сразу после функции в строке 1, а затем есть блок if, а внутри блока if мы снова использовали переменную ‘a’.

Если вы видите console.log в строках 6 и 8, вы можете увидеть, что вывод равен 3, потому что переменная var может быть доступна из любой точки функции. И он рассматривает «var a» в строках 2 и 5 как 1 переменную.

позволять

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

Как вы видите выше, мы создали переменную let сразу после функции в строке 1, а затем есть блок if, а внутри блока if мы снова использовали ‘let a = 1+2’.

Если вы видите console.log в строке 6, вы можете увидеть выход 3 внутри блока if, но в строке 8 вывод равен 1потому что let имеет блочную область действия. И он рассматривает «let a» в строках 2 и 5 как две разные переменные. Поэтому переменная IF блока 'a' будет доступна только внутри IF STATEMENT и FUNCTION 'a' будет доступна только внутри FUNCTION STATEMENT. Он не будет повторно использоваться в дочерней или родительской области.

константа

Означает, что идентификатор нельзя переназначить. но не путайте с неизменяемыми значениями, посколькуобъект `const` может иметь измененные свойства .

const language = “English”;
language = “Arabic”;
console.log(language); // Output: English

Как видите, мы не можем изменить const в приведенном выше примере. Где как мы можем изменить константные свойства объекта изменяемые.

const foo = {
   name : “Asad”,
   address : {
       permanent : “Dubai”
      }
}
foo.address.permanent = “USA”;
console.log(foo.address.permanent); // Output: USA

Ну, не путайте с объектом.

Вывод

const означает, что идентификатор не будет переназначаться.

let означает, что идентификатор может быть переназначен, но только в блоках, в которых он определен.

var означает, что идентификатор можно переназначить и использовать в любом месте функции.

Если статья показалась вам интересной, нажмите кнопку ♡. Это заставляет меня писать больше в таком духе.