Javascript에서 var, let 및 const 이해
변수는 모든 작업을 수행하는 데 거의 필요합니다.
Javascript는 변수를 선언하는 세 가지 방법, 즉 다음을 제공합니다.
1) 변수
2) 하자
3) 상수
각 변수 유형과 사용 사례를 살펴보겠습니다.
바르:
var 선언은 ES6이 등장하기 전에 우세했습니다.
var greetings = 'Hello Javascript'
변수를 선언하는 가장 쉬운 방법 중 하나입니다.
var 변수는 다시 선언하고 다시 초기화할 수 있습니다.
그러나 var를 사용하여 선언된 변수에는 문제가 있으며 이로 인해 새로운 변수 선언 방식이 생겨났습니다.
var의 범위:
범위는 본질적으로 변수에 액세스할 수 있는 위치를 의미합니다. var로 선언된 변수는 전역 범위 또는 함수/로컬 범위입니다.
var globalVar = 'Welcome to my blog';
function readBlog() {
var localVar = 'You are reading Crazy Js';
}
console.log(globalVar); // 'Welcome to my blog'
console.log(localVar); // Reference Error: localVar is not defined
여기에서 변수 globalVar는 함수 내부에 상주하지 않고 전역 범위 변수이므로 프로그램 전체에서 어디에서나 액세스할 수 있습니다.
반면 함수 내부에서 선언된 localVar는 외부에서 액세스할 수 없습니다.
var 관련 문제
var를 사용하여 변수를 선언하면 다시 선언하고 값을 수정할 수 있습니다.
var greetings = 'Hello World!';
var greetings = 'Hello Javascript';
동일한 이름을 가진 변수가 동일한 범위에서 다시 선언되기 때문에 혼란스럽습니다.
var로 선언된 변수는 선언되기 전에 접근할 수 있는데, 이는 Hoisting이라는 특수 기능 때문에 가능합니다.
console.log(greetings); // undefined
var greetings = 'Hello World!';
var로 선언된 변수는 함수 내부에 정의되지 않은 경우 정의된 블록 외부에 존재합니다.
if (true) {
var a = 'Hello'
}
console.log(a);
허락하다:
let은 이제 선호되는 변수 선언이며 var 선언에 대한 개선 사항으로 제공됩니다.
let greetings = 'Hello Javascript'
허용 범위:
let으로 선언된 변수는 블록 범위입니다.
블록은 {}에 상주하는 코드 덩어리입니다.
블록 내부에 정의된 let 변수는 블록 외부에서 액세스할 수 없습니다.
function greetings() {
let greetings = 'Hello Javascript'
}
console.log(greetings); // Reference error
var에 대한 개선 사항:
let greeting = 'hello'
greeting = 'Hi, Instead'
console.log(greeting); // 'Hi, Instead'
오류가 발생합니다.
let greeting = 'Hello';
let greeting = 'Hey'; // this will result in an error
그러나 동일한 변수가 다른 범위에 정의되어 있으면 오류가 발생하지 않습니다.
let 변수도 호이스팅되지만 var와 달리 let은 정의되지 않은 상태로 초기화되지 않으며 일부 값이 let 변수에 할당될 때까지 액세스할 수 없습니다.
console.log(greeting); // results in a reference error.
let greeting = 'Hello';
상수:
const 변수는 변수에 상수 값을 할당해야 할 때 사용됩니다. const 변수는 선언되자마자 값을 할당해야 합니다.
const greeting = 'Hello';
console.log(greeting); //Hello
const의 범위:
const 변수는 let과 유사한 블록 범위입니다.
function greetings() {
const greetings = 'Hello Javascript'
}
console.log(greetings); // Reference error
var에 대한 개선 사항:
const greeting = 'hello'
greeting = 'Hi, Instead' // syntax error
const 변수도 호이스팅되지만 var와 달리 const는 정의되지 않은 상태로 초기화되지 않으며 일부 값이 const 변수에 할당될 때까지 액세스할 수 없습니다.
console.log(greeting); // results in a reference error.
const greeting = 'Hello';
질문이나 제안이 있으십니까? 알려줘요
읽어 주셔서 감사합니다 :)
Reference
이 문제에 관하여(Javascript에서 var, let 및 const 이해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/azharahmed98/understanding-var-let-and-const-in-javascript-3oo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)