JavaScript let과 const
let과 const
자바스크립트에서 변수를 선언할 때는 let과 const 키워드를 사용합니다. 이 두 키워드는 변수의 선언과 할당을 위해 사용되며, 각각의 특징과 사용 방법에 대해 알아보겠습니다.
let
let은 블록 범위(block-scoped) 변수를 선언할 때 사용됩니다. 블록 범위 변수는 중괄호({})로 둘러싸인 코드 블록 내에서만 유효하며, 블록을 벗어나면 변수에 접근할 수 없습니다. let을 사용하여 변수를 선언할 때는 변수의 이름을 지정하고 값을 할당할 수 있습니다.
let x = 10;
console.log(x); // 출력: 10
{
let y = 20;
console.log(y); // 출력: 20
}
console.log(y); // 오류: ReferenceError: y is not defined
위의 예제에서 x는 전역 변수로 선언되어 어디서든 접근할 수 있지만, y는 블록 범위 변수로 선언되어 블록 내에서만 접근할 수 있습니다. 블록을 벗어나면 y에 접근할 수 없으며, 오류가 발생합니다.
let을 사용할 때는 동일한 이름의 변수를 중복해서 선언하는 것을 피해야 합니다. 중복된 변수명을 사용하면 스코프 내에서 변수의 값이 덮어씌워집니다.
const
const는 상수(constant)를 선언할 때 사용됩니다. 상수는 선언 시에 값을 할당하고, 이후에는 변경할 수 없는 변수입니다. 한 번 할당된 값을 변경하려고 시도하면 오류가 발생합니다.
const PI = 3.14159;
console.log(PI); // 출력: 3.14159
PI = 3.14; // 오류: TypeError: Assignment to constant variable.
위의 예제에서 PI는 상수로 선언되어 값을 할당한 후에는 변경할 수 없습니다. 상수는 주로 변하지 않는 값이나 재할당이 원치 않는 값에 사용됩니다.
const로 선언된 객체나 배열의 경우, 변수가 가리키는 객체 또는 배열의 내용은 변경할 수 있습니다. 다만, 다른 객체나 배열로의 재할당은 허용되지 않습니다.
const person = {
name: 'John',
age: 30
};
person.age = 40; // 가능
person = {}; // 오류: TypeError: Assignment to constant variable.
let과 const의 선택
일반적으로 변수를 선언할 때는 먼저 const를 사용하여 상수로 사용할지 여부를 결정합니다. 상수로 사용하지 않을 변수는 let을 사용하여 선언합니다. 이렇게 하면 변수의 의도를 명확히 표현할 수 있고, 실수로 변수의 값이 변경되는 것을 방지할 수 있습니다.
따라해보기
아래는 let과 const를 사용하는 예제입니다. 이를 따라해보고 결과를 확인해보세요.
let num1 = 5;
const num2 = 10;
console.log(num1 + num2); // 출력: 15
num1 = 8;
// num2 = 15; // 오류: TypeError: Assignment to constant variable.
console.log(num1 + num2); // 출력: 18
위의 예제에서 num1은 let으로 선언되어 값을 변경할 수 있으므로 5에서 8로 변경되었습니다. 하지만 num2는 const로 선언되어 값을 변경할 수 없으므로 오류가 발생합니다.
관련 링크
위의 링크에서 더 자세한 내용을 확인할 수 있습니다.
이상으로 let과 const에 대한 간단한 소개와 사용 방법에 대해 알아보았습니다. 변수를 선언할 때 let과 const를 올바르게 사용하여 코드를 작성하면 변수의 스코프와 값의 변경 여부를 명확하게 표현할 수 있습니다.