Декларация

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

var x;
let y;
console.log(x);
//Returns ---> undefined
console.log(y);
//Returns ---> undefined

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

function dummyFunction() {
  var x;
  let y;
  
  console.log(x);
  console.log(y);
}
dummyFunction()
//Returns ---> 
//undefined
//undefined

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

Инициализация

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

Назначение

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

let season; //Declaration
console.log(season);
//Returns ---> undefined

season = "Summer"; //Assignment
console.log(season);
//Returns ---> 'Summer;

Вернемся к нашему первому примеру и присвоим значение нашим переменным x и y.

var x = 1;
let y = 2;
console.log(x);
//Returns ---> 1
console.log(y);
//Returns ---> 2

В последнем примере мы объявляем и определяем переменные x и y одновременно и в одной строке. Однако теперь мы понимаем отдельные этапы, которые происходят при создании этих переменных.

А как насчет константы?

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

const a;
//Returns ---> Uncaught SyntaxError: Missing initializer in const declaration

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

const a = "Hello";

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

Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.