В 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