LHJ

I'm a FE developer.

3.2 변수와 상수 중 어떤 것을 써야 할까요?

18 Apr 2020 » js_lj

될 수 있으면 변수보다 상수를 써야 합니다.
데이터의 값이 아무 때나 막 바뀌는 것보다는, 고정된 값이 이해하기 쉽습니다.
상수를 사용하면 값을 바꾸지 말아야 할 데이터에서 실수로 값을 바꾸는 일이 줄어듭니다.
예를 들어, 사용자에게 어떤 행동을 취하는 프로그램이라면 user 변수를 써야겠다고 생각할 수 있습니다.
그런데 사용자가 단 한 명이라면?
당연히 user의 값은 바뀔 수 없고, 만약 바뀌었다면 그건 에러입니다.
상수를 사용하면 프로그래머가 신경쓰지 않아도 자바스크립트가 이런 상황에서 에러를 일으킵니다.
사용자가 두 명이라면 user 변수 하나를 재사용하는 것보다는 user1user2로 나누는 편이 낫습니다.

따라서 우선 상수를 먼저 생각합니다.
그 상수의 값이 바뀌는 게 자연스럽다고 생각된다면, 언제든지 변수로 바꿀 수 있습니다.

상수를 쓰면 안 되고 항상 변수를 써야 하는 상황도 있습니다.
예를 들어 4장에서 배울 루프 제어에는 변수를 써야 합니다.
시간이 지나면서 값이 바뀌는 경우에도 변수를 써야 합니다.
이번 장에서 사용한 targetTempC, currentTemp 같은 변수가 좋은 예입니다.
하지만 일단 상수를 쓰는 습관을 들이면, 변수가 꼭 필요한 상황이 생각보다 훨씬 적다는 걸 알고 놀라게 될 겁니다.

이 책의 예제에서는 가능하면 항상 변수 대신 상수를 쓰도록 노력했습니다.