728x90
반응형
var 사용을 지양하는 이유
- 변수 호이스팅
: var 변수는 선언 전에도 참조할 수 있습니다. 이는 예기치 않은 동작을 유발할 수 있습니다. - 함수 스코프
: var 변수는 함수 스코프를 가지며, 블록 스코프가 아닙니다.
따라서 블록 내에서 선언한 변수가 블록 외부에서도 접근 가능합니다. - 재선언 가능
: var 변수는 같은 이름으로 여러 번 선언할 수 있습니다.
이로 인해 의도하지 않은 변수 재선언이나 값 덮어쓰기 문제가 발생할 수 있습니다.
const와 let을 사용하면서 얻을 수 있는 이점 및 차이점
- 블록 스코프
: const와 let은 블록 스코프를 가집니다.
이는 변수의 범위가 블록 내로 제한되어 예측 가능하고 의도치 않은 변수 누출을 방지합니다. - 재할당 가능 여부
: const는 변수를 한 번 할당하면 재할당할 수 없는 상수를 선언할 때 사용됩니다.
let은 변수를 재할당할 수 있습니다.
이로 인해 코드의 의도를 명확히 표현할 수 있습니다. - 호이스팅 제한
: const와 let은 호이스팅이 발생하지만,
초기화 단계까지 호이스팅되며 실제 값이 할당되기 전까지 참조하려고 하면 ReferenceError가 발생합니다.
이는 코드 예측성을 높입니다. - 재선언 불가능
: const와 let은 같은 스코프 내에서 같은 이름의 변수를 재선언할 수 없습니다.
이는 변수 충돌을 방지하고 코드의 명확성을 높입니다. - 가독성 향상
: const와 let은 변수 선언과 동시에 초기화되므로
변수의 의도와 사용처를 명확히 파악할 수 있습니다. - 클로저와 호환성
: const와 let은 클로저와 더 잘 호환되며,
함수 내부에서 사용할 때 예측 가능한 결과를 제공합니다.
결론
var보다 const와 let을 사용하는 것이
코드의 안정성, 가독성, 유지보수성을 향상시키는데 도움이 됩니다.
const는 값이 변하지 않는 상수를 선언할 때 사용되며,
let은 재할당 가능한 변수를 선언할 때 사용됩니다.
출처 | ChatGPT
728x90
반응형
'네트워크 > JavaScript' 카테고리의 다른 글
| javascript 자정 이전 조건문 구하는 방법 | ChatGPT (0) | 2023.10.10 |
|---|---|
| location.search 가 뭐지 | ChatGPT (0) | 2023.10.09 |
| 자바스크립트 비동기적? 동기적? stack queue 작동 과정 (0) | 2023.08.30 |
| javascript asyn defer 차이 (ChatGPT) (0) | 2023.08.15 |
| javascript main thread 와 main stack (0) | 2023.08.14 |