본문 바로가기

네트워크/JavaScript

var 사용을 지양하고 const나 let을 사용하는 이유 | ChatGPT

728x90
반응형

var 사용을 지양하는 이유

  1. 변수 호이스팅
    : var 변수는 선언 전에도 참조할 수 있습니다. 이는 예기치 않은 동작을 유발할 수 있습니다.
  2. 함수 스코프
    : var 변수는 함수 스코프를 가지며, 블록 스코프가 아닙니다.
    따라서 블록 내에서 선언한 변수가 블록 외부에서도 접근 가능합니다.
  3. 재선언 가능
    : var 변수는 같은 이름으로 여러 번 선언할 수 있습니다.
    이로 인해 의도하지 않은 변수 재선언이나 값 덮어쓰기 문제가 발생할 수 있습니다.

const와 let을 사용하면서 얻을 수 있는 이점 및 차이점

  1. 블록 스코프
    : const와 let은 블록 스코프를 가집니다.
    이는 변수의 범위가 블록 내로 제한되어 예측 가능하고 의도치 않은 변수 누출을 방지합니다.
  2. 재할당 가능 여부
    : const는 변수를 한 번 할당하면 재할당할 수 없는 상수를 선언할 때 사용됩니다.
    let은 변수를 재할당할 수 있습니다.
    이로 인해 코드의 의도를 명확히 표현할 수 있습니다.
  3. 호이스팅 제한
    : const와 let은 호이스팅이 발생하지만,
    초기화 단계까지 호이스팅되며 실제 값이 할당되기 전까지 참조하려고 하면 ReferenceError가 발생합니다.
    이는 코드 예측성을 높입니다.
  4. 재선언 불가능
    : const와 let은 같은 스코프 내에서 같은 이름의 변수를 재선언할 수 없습니다.
    이는 변수 충돌을 방지하고 코드의 명확성을 높입니다.
  5. 가독성 향상
    : const와 let은 변수 선언과 동시에 초기화되므로
    변수의 의도와 사용처를 명확히 파악할 수 있습니다.
  6. 클로저와 호환성
    : const와 let은 클로저와 더 잘 호환되며,
    함수 내부에서 사용할 때 예측 가능한 결과를 제공합니다.

결론

var보다 const와 let을 사용하는 것이
코드의 안정성, 가독성, 유지보수성을 향상시키는데 도움이 됩니다.

const는 값이 변하지 않는 상수를 선언할 때 사용되며,

let은 재할당 가능한 변수를 선언할 때 사용됩니다.

출처 | ChatGPT

728x90
반응형