본문 바로가기
JavaScript

[JavaScript] let(Mutable), const(Immutable) 언제 사용할까?

by 쁘니쁘나 2020. 9. 6.

예를 들어 Java에서 숫자는 int, 문자는 char, 문자열은 String, 참 거짓은 boolean 이렇게 선언하는 것과 달리

JavaScript 에서는 let과 const 크게 이 두 가지로 변수를 선언합니다.

 

이 let, const 의 가장 큰 차이는 Mutable, Immutable이라는 단어가 등장하는데요

Mutable은 변할 수 있는 값을 뜻하며, Immutable은 변하지 않는 값을 뜻합니다.

 

let은 Mutable 특성으로 계속해서 변하는 값을 정의할때 let 변수를 사용하며,

const는 Immutable 특성으로 변하지 않는 값을 정의할 때 사용합니다.

 

물론 모든 변수를 let으로 정의해도 되겠지만, 웬만하면 한번 데이터를 할당한 뒤에는 변하지 않는 값. 즉, const를 사용도록 개발자들 사이에서 권장되고 있습니다. 이유는 아래와 같습니다.

 

const 사용이 권장되는 이유

1. 보안상의 이유
: 한번 정의된 데이터를 해커들이 이상한 데이터를 삽입해서 변경하는 것이 가능한데요. Immutable 특징을 갖고 있는 const를 사용하면 이를 방지할 수 있습니다.
2. thread safety
: 프로세스가 실행될때 동시에 여러 개의 thread 가 실행되기도 하며 이 여러 개의 thread들이 동시에 변수에 접근해서 값을 변경할 수도 있는데  이경우는 매우 위험할 수 있기에 const 사용이 권장됩니다.
3. 다른 개발자와 협업
한번 데이터를 할당한 뒤 변하면 안 되는 값을 const 로 정의하면 다른 개발자가 코드를 보았을때도 '아 이 데이터는 변하면 안되는 값이구나' 하고 알 수 있기 때문에 개발자의 실수를 보완할 수 있습니다.

댓글