const

const?

const는 상수를 위해 사용합니다. 상수란 변하지 않는 값을 의미합니다.

사용법

선언

const는 선언 후 할당과 동시에 재할당 할 수 없습니다.

1
const foo = 123;

foo123으로 할당합니다.

1
foo = 456;

이미 할당 된 foo456을 재할당하면 TypeError: Assignment to constant variable.에러가 발생합니다.

1
const foo

이미 선언된 foo를 재선언하게되면 SyntaxError: Missing initializer in const declaration에러가 발생합니다.
따라서 const는 한번 할당되면 재할당 할 수 없고, 다시 선언도 불가합니다. 한 번 값이 지정되고 변하지 않는 변수가 있다면 const를 사용하는 것이 좋습니다.

상수

상수는 가독성과 유지보수를 위해 적극적으로 사용해야합니다.

1
2
3
for(var a = 1; a <= 10; a++){
console.log(a);
}

위와 같이 1부터 10까지 출력하는 코드가 있다고 생각해봅니다. a라는 변수를 왜 사용했는지 10이라는 숫자는 무엇을 의미하는지 다른사람이 봤을 때 모르는 코드는 좋지 않은 코드입니다.

1
2
3
4
5
6
const maxNum = 10;
const startNum = 1;
let printNum = startNum;
for(printNum; printNum <= maxNum; printNum++){
console.log(printNum);
}

위와 같이 상수가 무엇을 의미하는지 변수가 무엇을 의미하는지 네이밍을 잘 작성하게되면 가독성과 유지보수성을 대폭 향상 시킬 수 있습니다.

객체

const는 객체에서도 사용 할 수 있습니다. 객체는 Property nameproperty value로 이루어져 있습니다. const에서 객체를 사용할 때 Property name은 변경 할 수 없지만 property value는 변경 할 수 있습니다.

1
2
3
4
5
6
7
8
9
const user = {
lastname: 'kim',
firstname: 'jeongwon',
birthday: {
year: 1990,
month: 02,
day: 09
}
};

위와 같이 user라는 상수를 선언합니다.

1
user = {}

위와 같이 user{}객체로 초기화하게 되면 TypeError: Assignment to constant variable.에러가 발생합니다.

1
user.lastname = 'jin';

하지만 변수의 property value를 위와 같이 변경하게 되면 userproperty value는 변경됩니다.
결론적으로 객체타입의 변수에는 const를 사용하는 것이 좋습니다. 객체의 Property name은 변경될 필요가 없습니다. 하지만 객체의 property value는 변경 될 수 있습니다. const를 사용하더라도 property value를 변경 할 수 있으므로 객체를 사용 할 때에는 const를 사용을 추천합니다.

공유하기