Если вы ещё не в курсе, то в новой редакции JavaScript, которая уже поддерживается всеми браузерами есть три метода объявления переменной.
var let const
И если с const проблем никаких нет, это де факто объявление константы, которую в программном коде изменить просто так уже не получиться (да уже есть константы в полный рости и переопределить их уже нельзя, за что спасибо разработчикам).
const permanent = 10; // и больше изменить значение интерпретатор вам не даст
И если вы измените значение то вылезет ошибка - Uncaught SyntaxError: Identifier 'permanent' has already been declared
То вот с var и let, далеко не всё однозначно.
Некоторые программисты говорят, что никакой разницы в использовании var и let нет, это не правда!
Разница очень существенна и сейчас я вам о ней расскажу.
var - объявляет переменную которая будет доступна в коде, а точнее во всех его участках.
let объявляет переменную которая будет доступна только в определённом блоке программы, за этим блоком её значение преобразовываться не будет.
Понять это сразу немного сложно, поэтому лучше всё показать на примере.
function varTest(){
var test = 5; // Создаётся переменная
{
var test = 10; // Переменная изменена и перезаписана
console.log(test); // выводит 10
}
console.log(test); // 10, На всех участках функции будет 10
};
А теперь посмотрим вариант с let
function letTest(){
let test = 5;
{
let test = 10;
console.log(test); // Выведет 10, и пока это ожидаемо
}
console.log(test); // Выведет 5, так как блок выше закончен и переменная опять 5
};
Как видите магия здесь очень серьёзная, так что всегда нужно думать, как именно объявлять переменные. От этого может зависеть поведение вашего скрипта.
Добавить комментарий