자바스크립트 const의 장점을 살리면서 let 사용하기
Replacing let with const
Even when it feels impossible
charles-stover.medium.com자바스크립트에서 const는 상수를 만들 때 사용하며
상수로 선언된 값은 절대 변경할 수 없는 불변의 값이 됩니다.
자바스크립트에서 const로 상수를 만들어 사용했을 때 좋은 점은
- 변경되지 않을 것이 명확하기 때문에 안정적으로 코딩을 할 수 있고
- 우발적으로 값을 재 할당하는 것을 방지할 수 있으며
- 성능의 최적화에 도움이 되는 등등의 장점이 있습니다.
반대로 let은 언제든지 변할 수 있는 변수를 선언할 때 사용되며
let으로 선언된 변수는 아래 예와 같이 조건에 따라 바뀔 수 있습니다.
let height = 60;
if (name === 'Charles') {
height = 70;
} else if (
gender === Gender.Male &&
race === Race.White
) {
height = 69;
} else if (gender === Gender.Female) {
height = 64;
}
그런데 이렇게 let으로 선언된 변수가 어떤 시점부터는 변하지 않는 것을 보장하고 싶은 경우가 있습니다.
즉, 어떤 조건만 체크하여 값을 할당한 직후에는 절대로 변할 일이 없다면
해당 시점부터는 상수의 속성을 갖도록 하는 것이 코드를 안정적으로 만들 수 있습니다.
그럴 때 사용할 수 있는 코딩 패턴이 "함수와 함께 const를 사용하는 것" 입니다.
예를 들면 앞서 예제 코드는 다음과 같이 함수와 함께 const로 선언할 수 있습니다.
function getHeight({ gender, name, race }) {
if (name === 'Charles') {
return 70;
}
if (
gender === Gender.Male &&
race === Race.White
) {
return 69;
}
if (gender === Gender.Female) {
return 64;
}
return 60;
}
const height = getHeight({ gender, name, race });
아직 댓글이 없습니다. 첫번째 댓글 작성자가 되어주세요 :)