«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript
site.komp36.ru Создание сайтов. Твой сайт фотографа Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Продающий лендинг. Создание сайтов Установка и продажа окон, установка дверей, перегородок. Одностраничный продающий сайт. Заявки прямо с сайта
site.komp36.ru Универсальный лендинг. Выбрать тему для сайта! Лендинг адаптируется под любую тему: ремонт, отделка, продажа окон, дверей, лестниц, мебели и многое другое
site.komp36.ru Создание сайтов. Сайт сервисного центра. Сайт компании. Новости и отзывы. Несколько прайс-листов – под каждый отдельная страница. Возможность размещения статей


Игра «Морской Бой» на 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 связанные с циклами. Но об этом немного позже. Когда будет рассматриваться тема функций, то мы пойдем еще глубже и будем говорить о замыканиях.

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

site.komp36.ruТвой сайт фотографа. Создание сайтов Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Акция Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Акция Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта

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

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

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

Ваше Имя:

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

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

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


Рунет - Часть 1
Тематические публикации
site.komp36.ru Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта
Популярные заметки
Последние заметки