
ES6(ECMAScript 2015) – let, const – 1 – 변수 재선언 금지
소제목: let과 const를 사용하여 변수 재선언 금지하기
ES6(ECMAScript 2015)에서 소개된 let과 const는 변수를 선언하는 데 사용되는 키워드입니다. 이들은 기존의 var 키워드와는 다른 특징을 가지며, 변수 재선언을 금지하는 특성을 가지고 있습니다. 이를 쉽게 이해하기 위해 비유적인 표현을 사용하여 설명해보겠습니다.
우선, 변수는 컵이라고 생각해봅시다. 기존에는 var 키워드를 사용하여 컵을 만들 수 있었습니다. 그리고 같은 이름의 컵을 여러 개 만들어서 사용할 수도 있었습니다. 그러나 let과 const는 재선언을 금지하기 때문에, 컵을 한 번만 만들 수 있습니다. 즉, 같은 이름의 컵을 여러 개 만들 수 없습니다.
예시를 통해 자세히 알아보겠습니다.
let cup = "커피잔"; // 컵을 만듭니다.
console.log(cup); // 출력: 커피잔
let cup = "물잔"; // 오류! 변수 재선언이 금지되어 오류가 발생합니다.
위의 예시에서는 let cup = "커피잔";
을 통해 컵을 만들었습니다. 그리고 console.log(cup);
을 통해 “커피잔”이라는 값이 출력됩니다. 그런데 이어서 let cup = "물잔";
을 작성하면 오류가 발생합니다. 왜냐하면 let 키워드로 선언된 변수는 재선언이 금지되기 때문입니다. 따라서 같은 이름의 컵을 여러 개 만들 수 없으므로 오류가 발생합니다.
또 다른 예시를 통해 const 키워드에 대해 알아보겠습니다.
const PI = 3.14; // 상수 PI를 선언하고 값을 할당합니다.
console.log(PI); // 출력: 3.14
PI = 3.14159; // 오류! const로 선언된 상수의 값을 변경할 수 없습니다.
위의 예시에서는 const PI = 3.14;
를 통해 상수 PI를 선언하고 값을 할당했습니다. 그리고 console.log(PI);
를 통해 3.14라는 값이 출력됩니다. 그런데 이어서 PI = 3.14159;
라고 작성하면 오류가 발생합니다. const로 선언된 상수는 값의 재할당이 금지되기 때문에 오류가 발생합니다. 따라서 상수는 한 번 값을 할당하면 그 값을 변경할 수 없습니다.
주의해야할 점
-
let과 const는 블록 스코프를 가지고 있습니다. 따라서 블록({}) 내부에서 선언된 변수는 외부에서 접근할 수 없습니다. 이를 이해하고 변수를 사용해야 합니다.
-
let과 const는 호이스팅(hoisting)이 발생하지 않습니다. 호이스팅은 변수 선언이 스코프의 최상단으로 끌어올려지는 것을 의미합니다. 따라서 변수를 선언하기 전에 사용하면 오류가 발생할 수 있으므로 변수 선언을 최상단에 위치시키는 것이 좋습니다.
-
const로 선언된 변수는 상수로 취급되어 값을 재할당할 수 없습니다. 그러나 객체나 배열과 같은 복합 데이터 타입은 변경할 수 있으므로 주의해야 합니다. const로 선언된 객체나 배열의 내부 속성이나 요소를 수정하는 것은 가능합니다.
-
let과 const는 var보다 블록 스코프를 따르기 때문에 변수 충돌을 방지하고 예상치 못한 오류를 줄일 수 있습니다. 따라서 var 대신에 let과 const를 사용하는 것이 좋습니다.
자바스크립트에서 let과 const를 사용하여 변수 재선언을 금지할 수 있습니다. 이를 통해 코드의 가독성과 유지보수성을 높이고 변수 관리를 용이하게 할 수 있습니다. 이를 기억하고 적절하게 변수를 선언해보세요!