개발에서 매직 넘버란 소스 코드 안에 작성된 구체적인 수치 값을 말한다.
예를 들어 특정 계산을 하기 위한 수싯에 기준이 되는 가중치나 특정 정의된 수치 값들을 통칭하여 표현한다.
const isValidCarNameLength = (cars) => {
return cars.every((car) => car.length < 5);
};
여기 사용자가 입력한 car name
이 유효한 길이인지 구별하는 함수가 있다.
2번째 줄에 숫자 5
는 다른 사람이 보았을 때 무슨 의미에서 5라는 숫자가 나왔는지 자세히 알아보기 전엔 바로 알 수 없다.
이 때 5를 상수화하여 변수로 넘겨주면!
const CAR_NAME_MAX_LENGTH = 5;
const isValidCarNameLength = (cars) => {
return cars.every((car) => car.length < CAR_NAME_MAX_LENGTH);
};
이렇게 CAR_NAME_MAX_LENGTH
라는 변수명으로 숫자에 의미를 부여해줄 수 있고 차 이름의 최대 길이로 유효한 값인지 판별하는 함수구나 하고 바로 알 수 있다.
그리고 나중에라도 차 이름의 최대 길이가 5에서 6으로 변경될 경우 상수로 선언한 CAR_NAME_MAX_LENGTH
값만 5에서 6으로 변경해주면 일일히 바꿔줄 필요가 없어진다.(상수화의 장점)