«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript

Игра на «Морской Бой» на JavaScript: Простая Игра и Игра для Двоих


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

Теперь поговорим о том, как происходит объявление переменных в JavaScript.

До выхода стандарта ES6 при создании переменных/для их объявления использовалось ключевое слово var - об этом здесь. Но это устаревший способ объявления переменных.

Как это происходит сейчас? Далее о ключевых словах let, const и var и отличиях между ними.



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

В стандарте ES6 объявление переменных происходит с использованием ключевых слов let или const.

Ключевое слово let или const --> Имя переменной --> Знак присваивания "=" --> Значение переменной

Пример 1.1

let number = 5;
const leftBorderWidth = 2;

- ключевое слово let - обозначает, что перед нами изменяемая переменная.

- ключевое слово const - обозначает, что перед нами не изменяемая переменная (от слова constant - константа).

В JavaScript хорошим тоном является использование ключевого слова const везде, где это возможно.

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

Сделаем запись следующего вида (объявим при помощи ключевого слова const объект и сразу же изменим значение его свойства):

Пример 1.2

const obj = {
    a: 50
};
console.log(obj);

obj.a = 20;
console.log(obj);

В результате изменения прошли успешно. Но изменить значение переменной, объявленной при помощи ключевого слова const (см. пример 1.1) const leftBorderWidth = 2; - не получится.

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

Устаревший способ объявления переменной var

Устаревший вариант объявления переменных при помощи ключевого слова var.


var name = 'Ivan';

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

Разберемся почему. Сравним использование ключевого слова var и let. И для этого "шагнем" немного вперед.

Итак, переменную объявленную при помощи ключевого слова var, как и let-переменную можно перезаписывать/менять ее значение. В этом их схожесть. Но...

Переменная var существует до того, как она объявлена в коде. И соответственно видна она везде.

Это может звучать не понятно, поэтому рассмотрим пример.

Пример 2.1

console.log(name);
var name = 'Ivan';

Результат


undefined

В примере мы пробовали вывести в консоль переменную name до того, как она была объявлена при помощи ключевого слова var. И в результате мы увидели undefined. И хотя это не настоящее значение переменной name (это неопределенное значение - об этом здесь), но оно есть заранее. До объявления переменной. И это не правильно. В этом нет последовательности/нет логики. Такого быть не должно!

Пробуем тоже самое сделать в случае с ключевым словом let.

Пример 2.2

console.log(number);
let number = 5;

Результат


Cannot access 'number' before initialization

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

Такое поведение переменной объявленной при помощи ключевого слова var называется hoisting или всплытие/поднятие - когда переменные передвигаются выше своей области видимости - до того как были объявлены.

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

Это первое глобальное отличие let и const от var. И это основная проблема var.

Второе отличие let и const от var

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

Пример 3.1

{
    let result = 50;
}
console.log(result);

Результат


result is not defined

Переменная result не определена. Тоже самое мы увидим если переменная объявлена при помощи ключевого слова const.

В случае с var все иначе.

Пример 3.2

{
   var result = 50;
}
console.log(result);

Результат


50

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

Есть и другие особенности объявления переменных в JavaScript связанные с циклами. Но об этом немного позже. Когда будет рассматриваться тема функций, то мы пойдем еще глубже и будем говорить о замыканиях.



Читайте также...



Отзывы и комментарии:

Комментариев нет...

Оставить отзыв:

Ваше Имя:

Текст комментария:

Ответьте на вопрос:

Сколько дней в Високосном году?


Рунет - Часть 1
Способы объявления переменных - Ключевые слова let, const и var
132
Начало работы - Редактор Visual Studio Code - Плагин JShint
131
Стандарт ES6 - Директива use strict - Строгий режим и стиль кода
78
Простые типы данных – Числа и строки – null и undefined
108
Объекты и массивы - Комплексные типы данных
103
Взаимодействие с пользователем – Методы alert, confirm и prompt
102
Интерполяция и конкатенация – Способы построения строк
167
Основные операторы - Унарный плюс – Сравнение и равенство
78
Инкремент и Декремент - Префиксная и Постфиксная формы записи
53
Работа с системой контроля версий GIT и сервисом GITHub
117
Работа с GitHub на разных компьютерах – Команды git clone и git pull
49
Практика часть 1 – Способы добавления свойств в объект
27
Условия if else - Конструкция switch case - Тернарный оператор
25
Циклы while и for - Операторы break и continue
36
Практика часть 2 – Циклы и Условия
11
Помощь сайту
Yandex-деньги/Ю-Money
410011236419322
Перевод на карту СБ
4276 1300 1671 5819
WebMoney
R711879515665 Z861169301432

Тематические публикации
Популярные заметки
Последние заметки