728x90
반응형
- var
- var와 let의 차이점은 scope입니다.
- var은 funciton 단위의 scope를 가집니다.
- ES6 이전에 나온 변수 선언 방식입니다.
var str="hello";
if(true){
var str2="world";
}
console.log(str2); // world
위 코드는 if문 안에서 str2를 선언했지만 if문 밖에서도 변수가 유효한 것을 알 수 있습니다.
또한 같은 이름의 변수를 여러 번 선언하여도 오류가 나지 않습니다.
2. let
- ES6에서 추가된 변수 선언 방식입니다.
- let은 {}(block) 단위의 scope를 가집니다.
let str='hello';
{
let str='world';
console.log(str); //world
}
console.log(str); //hello
let을 사용한다면 위와 같은 결과를 얻을 수 있다.
또한 var와 다르게 같은 변수명을 갖는 변수는 두 번 선언하게 되면 오류가 발생하므로 변수의 값을 바꿔 주는 식으로 사용하여야 한다.
3. const
- 상수는 한 번 선언하면 바꿀 수 없습니다.
- const는 상수를 선언할 때 사용합니다.
const str="hello";
str="world"; //error
위와 같은 상수를 선언한 str의 값을 바꾸려고 하면 error가 납니다.
또한 const의 scope은 {}(block)입니다.
→ 요약 var 선언은 전역 범위 또는 함수 범위이며 let과 const는 블록 범위이다.
var 변수는 범위 내에서 업데이트 및 재선언할 수 있다. let 변수는 업데이트할 수 있지만, 재선언은 할 수 없다. const 변수는 업데이트와 재선언 둘 다 불가능하다.
728x90
반응형
'Javascript' 카테고리의 다른 글
대입 연산자, 복합 연산자 (0) | 2023.08.10 |
---|---|
자바스크립트의 자료형 (0) | 2023.08.09 |
Template literals (0) | 2023.08.09 |
encodeURI(), encodeURIComponent(), decodeURI(), decodeURIComponent() (0) | 2023.08.03 |
JavaScript / 함수 / isNaN() / 매개변수가 숫자인지 검사하는 함수 (0) | 2023.08.02 |