Переменные и строгий режим

Объявление переменной:

Код
let number;

Объявление переменной с присваиванием ей значения:

Код
let number = 5;

Объявление константы (обязательно с присваиванием значения сразу)

Код
const leftBorderWidth = 1

Имя переменной может состоять из букв, цифр, символов $ и нижнего подчёркивания (_). Имя переменной не должно начинаться с цифры.

Примеры не корректных названий переменных:

Код
let 5number;
let *number;

Примеры корректных названий переменных:

Код
let _number;
let $number;

Названия переменных не должны повторять зарезервированные слова языка (например, error, prompt, alert и прочие)

Название переменной, состоящее из нескольких слов, пишется в формате camelCase

Названия переменных регистрозависимы, это разные переменные:

Код
let number = 2;
let NUmber = 2;

Есть две переменных:

Код
let number = 3;
const leftBorder = 15;

Меняем значение первой переменной:

Код
number = 10;
console.log(number); // 10

Значение константы leftBorder подобным образом поменять нельзя, получим ошибку.

Однако, значение свойства объекта, являющегося значением константы, поменять можно:

Код

const obj = {
  a: 5
}

obj.a = 10;

console.log(obj); // { a: 10 }

Отсюда вывод: прямых констант в JavaScript нет.

Объявление переменной устаревшим способом:

Код
var name = 'Ivan';

Мы также можем заменить её значение:

Код
name = 'Alex';
console.log(name); // Alex

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

Код
console.log(name); // undefined
name = 'Alex';

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

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

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

Код

{
  let result = 50;
}
console.log(result); // result is not defined

Если в этом коде заменить let на var, то никакой ошибки уже не будет.

Директива "use strict"



Размещается в начала кода или в начале кода в блоке функции

Код
"use strict";

Строгий режим позволяет исправлять некоторые неточности, которые были ранее в языке.

Например, использование переменной без её объявления, по логике ошибочно, но в простом режиме не даёт ошибки:

Код
a = 15;
console.log(a); // 15

В строгом режиме данный код уже вызовет ошибку и это правильное поведение, ведь мы используем переменную, которой, по-сути еще нет.

Caniuse.comStrict modeСтилистика кода

Всего комментариев: 0

Имя *:
Email *:
Код *:
Хостинг от uCoz