В JavaScript вы можете объявлять переменные, используя ключевые слова «const», «let» и «var». В зависимости от того, какое значение они представляют, существует разница в том, как и когда их следует использовать.

До этого, что такое переменные?

Переменные — это контейнеры для хранения значений данных в языках программирования. Переменная может иметь любое имя, которое вы пожелаете, но рекомендуется сделать его соответствующим типу хранимых данных. Например, у вас может быть значение 10, которое может относиться к возрасту ребенка. Вы должны использовать ключевые слова "const", "let" или "var" с ключевым словом "age" и сделать его равным 10.

let age = 10;
const age = 10;
var age = 10;

var (старый — больше не используется)

var имеет особое свойство быть глобальной областью видимости или глобальной областью видимости (взгляните на область видимости), что означает, что к ней можно получить доступ из любого места в коде. Это может быть удобно, но переменные, объявленные с помощью var, могут перекрываться, и если вы объявите одно и то же «var keyword = value» несколько раз, у вас возникнут проблемы. определение того, откуда берутся значения позже.

Кроме того, это не область действия блока (в отличие от let и const), поэтому вы можете получить доступ к ключевым словам var, объявленным внутри «операторов if». Обратите внимание, что доступ к информации внутри «операторов if» нецелесообразен, так как позже это испортит ваш код.

В приведенном ниже примере вы можете увидеть, как доступ к var x осуществляется из-за пределов оператора if, а к const и let — нет.

let var = 'bad'   // 'bad' 
let var = 'veryBad' // 'veryBad' 
conosle.log(var)
function example() {
  if (true) {
    var x = 10;
    let y = 20;
    const z = 30;
  }
  console.log(x); // 10
  console.log(y); // ReferenceError: y is not defined
  console.log(z); // ReferenceError: z is not defined
}

example();

Как видите, в использовании «var» нет никаких положительных сторон, поэтому люди его больше не используют. Тем не менее, вы можете использовать его, просто не рекомендуется.

константа (ES6)

Представленный в ECMAScript 6 (ES6), в отличие от var, это не глобальная область видимости. Скорее, это область действия блока. Упрощенное значение области действия блока заключается в том, что он остается внутри своей собственной обозначенной области (собственного блока).

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

В большинстве случаев рекомендуется использовать const, если только вы не знаете, что позже переназначите значение переменной. В этом случае просто используйте «let».

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

В приведенном ниже примере вы можете видеть, что если вы попытаетесь изменить значение «возраст». он вернется с ошибкой.

const age = 10;
age = 20; // Error: Assignment to constant variable

пусть (ES6)

«let» — это объявление переменной с блочной областью видимости. Это очень похоже на var, но это не глобальная область видимости. Это обычно используется, когда вы знаете, что значение, присвоенное переменной, будет изменено позже.

В приведенном ниже примере видно, что возрасту присваивается значение 10. Затем он переназначается на «возраст». Однако значение равно age (10) + 1, что делает age равным 11.

let age = 10;
age = age + 1;  // age becomes 11 
function example() {
  let x = 10;
  if (true) {
    let y = 20;
    console.log(x); // 10
  }
  console.log(y); // ReferenceError: y is not defined
}

example();
console.log(x); // ReferenceError: x is not defined