240807 let, const, var

신한별·2024년 8월 7일

💪 매일 기록

목록 보기
38/97

ReactJS 기초주차

let, const, var

분류방법

(1) 스코프에 따른 분류

  • 변수는 선언위치에 따라 다른 스코프(유효 범위)를 가진다
  • 자바스크립트의 주요 스코프 유형은 글로벌 스코프, 블록 스코프, 함수 스코프 이다.
  • 글로벌 변수는 전체 코드에서 접근할 수 있다.
  • 블록 스코프 변수 let, const는 선언된 블록 내에서만 접근할 수 있다.
  • 함수 스코프 변스 var는 선언된 함수 내에서 유효하다.

(2) 재할당 가능성에 따른 분류

  • const : 값을 재할당할 수 없는 상수 를 선언할 때 사용, 초기 선언 이후 값을 변경할 수 없음
  • var let : 값을 재할당할 수 있음

const, let, var의 특성

const

  • 값이 변경되지 않는 변수를 명확하게 표현하여, 코드의 안정성을 높이고
  • 의도치 않은 값 변경으로 인한 버그를 예방할 수 있다.
  • 변수 선언시 최우선으로 고려되어야 한다.

let

  • 변수의 값을 필요에 따라 유연하게 변경할 수 있다

var

  • 함수 내부 어디에서든 접근할 수 있기에 위험
  • 선언 전에도 참조할 수 있는 호이스팅 현상 때문에 코드의 가독성을 떨어뜨리고 유지보수를 어렵게 만든다.
console.log(myVar); // undefined, not ReferenceError
var myVar = 10;
// 가독성 떨어지는 코드
function doSomething() {
    for (var i = 0; i < 10; i++) {
        // loop body
    }
    console.log(i); // 10, accessible outside the loop
}
doSomething();

💡 const, let도 호이스팅 된다.
하지만 var 처럼 초기값을 undefined 로 미리 할당하지 않는다!

0개의 댓글