javascript
자바스크립트는 동적 타입 언어로, 변수 선언에 있어서 유연함을 제공합니다. 이러한 유연함 속에서 var, let, const라는 세 가지 키워드는 각기 다른 특성을 지니고 있습니다. 최근의 모던 자바스크립트 개발에서는 var의 사용을 지양하고 let과 const를 선호하는 추세입니다. 이 글에서는 이들 키워드의 차이점을 살펴보고, 왜 현대 자바스크립트 개발에서 var보다 let과 const를 더 많이 사용하는지에 대해 설명하겠습니다.
var는 자바스크립트에서 가장 오래된 변수 선언 키워드입니다. 주요 특징은 다음과 같습니다.
var로 선언된 변수는 함수 레벨 스코프를 가집니다. 즉, 함수 내에서 선언되면 함수 전체에서 접근 가능합니다.
if (true) {
var exampleVar = "안녕하세요";
}
console.log(exampleVar); // "안녕하세요"
JavaScriptvar 변수는 선언 전에 사용할 수 있습니다. 이는 코드의 가독성과 유지보수를 어렵게 만듭니다.
console.log(exampleHoist); // undefined
var exampleHoist = "호이스팅 예시";
JavaScript같은 이름의 변수를 여러 번 선언할 수 있습니다.
var exampleVar = "첫 번째 선언";
var exampleVar = "두 번째 선언";
console.log(exampleVar); // "두 번째 선언"
JavaScript✔️이러한 특성 때문에, var는 예측하기 어려운 버그를 발생시킬 수 있으며, 현대의 모던 자바스크립트 개발에서는 그 사용을 지양하는 추세입니다.
ES6(ES2015)에서 도입된 let은 var의 대안으로 제시됩니다. let의 주요 특징은 다음과 같습니다.
let으로 선언된 변수는 블록 레벨 스코프를 가집니다. 즉, 선언된 블록(중괄호 {}로 감싸진 구역) 내에서만 유효합니다.
if (true) {
let exampleLet = "안녕하세요";
console.log(exampleLet); // "안녕하세요"
}
// console.log(exampleLet); // ReferenceError: exampleLet is not defined
JavaScriptlet으로 선언된 변수는 선언 전에 접근할 수 없습니다. 이는 코드의 안정성을 높여줍니다.
// console.log(exampleLetHoist); // ReferenceError: Cannot access 'exampleLetHoist' before initialization
let exampleLetHoist = "호이스팅 방지 예시";
JavaScript같은 스코프 내에서 동일한 이름으로 변수를 재선언할 수 없습니다.
let exampleLet = "첫 번째 선언";
// let exampleLet = "재선언 시도"; // SyntaxError: Identifier 'exampleLet' has already been declared
JavaScript✔️let은 더 엄격하고 예측 가능한 코드 작성을 가능하게 합니다.
또한, ES6에서 const도 도입되었습니다. const는 다음과 같은 특징을 가집니다.
const로 선언된 변수는 블록 레벨 스코프를 가집니다. 즉, 선언된 블록 내에서만 유효합니다.
if (true) {
const exampleBlockScope = "블록 스코프 예시";
console.log(exampleBlockScope); // "블록 스코프 예시"
}
// console.log(exampleBlockScope); // ReferenceError: exampleBlockScope is not defined
JavaScript한 번 선언된 값은 변경할 수 없습니다.
const exampleConst = "상수 선언";
// exampleConst = "재할당 시도"; // TypeError: Assignment to constant variable.
JavaScriptconst는 상수(constant)를 나타내는 데 주로 사용됩니다. 값이 변경되지 않을 변수에 사용하는 것이 좋습니다.
const PI = 3.14;
console.log(PI); // 3.14
// PI = 3.14159; // TypeError: Assignment to constant variable.
JavaScriptvar, let, const는 자바스크립트에서 변수를 선언하는 세 가지 방법입니다. 각각의 스코프, 호이스팅, 재선언 가능성에서 차이가 있으며, 모던 자바스크립트 개발에서는 var의 한계를 극복하기 위해 let과 const 사용을 권장합니다. const는 값이 변하지 않을 것이 확실할 때, let은 그렇지 않을 때 사용하는 것이 좋습니다. 이러한 관행은 코드의 안정성과 가독성을 향상시키는 데 도움이 됩니다.
테스트 시 의존성 주입(Dependency Injection)과 Mockito Spring 애플리케이션을 개발하다 보면, 테스트 코드에서 실제 빈(Bean)을 사용하지…
들어가며 스프링 기반 프로젝트에서 좋은 설계 구조와 테스트 전략은 소프트웨어 품질과 유지보수성에 직결됩니다. 최근 학습한…
들어가며 코드를 작성할 때 종종 "이 로직을 어떻게 단순하고 읽기 쉽게 표현할 수 있을까?" 고민하게…
HTTP 상태코드란 무엇인가? HTTP 상태코드(HTTP Status Code)는 서버가 클라이언트의 요청을 처리한 결과를 수치화된 코드로 나타내는…
HTTP란 무엇인가? HTTP(Hypertext Transfer Protocol)는 웹에서 데이터를 주고받기 위해 사용하는 응용 계층 프로토콜입니다. 우리가 브라우저에서…