javascript 로 프로그래밍을 할 때 우리는 변수를 선언하고 여기에 데이터를 할당해 사용하게 됩니다. 예를 들어서
let name = 'kimeensung';
이렇게 구문을 작성한다면, let 으로 name 이라는 이름의 변수를 선언하고, 여기에 kimeensung 이라는 데이터 값을 할당한 것이죠.
let 으로 선언한 변수에는 언제든지 다른 데이터 값을 다시 할당할 수 있습니다.
name = 'daniel';
이렇게 구문을 추가하게 되면 name 이라는 변수에 이제부터 daniel 이라는 새로운 데이터가 저장되어 있겠죠.
이처럼 let 을 활용해서 만드는 변수는, 원할 때 새로운 값을 다시 재할당해서 사용할 수 있습니다.
그렇다면 const 는 뭘까요? const 도 let 처럼 이름을 붙여 어떤 공간을 지정하고 데이터값을 저장한다는 점은 동일한데요. const 와 let 의 차이점은 const 는 재할당이 안 된다는 것입니다.
const name = 'kimeensung';
name = 'daniel'
처음 작성했던 구문에서 let 을 const 로 바꿔봤습니다. 그러면 2번째 줄에서 오류가 발생하게 됩니다. const 로 만든 변수는 다시 다른 데이터를 저장할 수 없기 때문입니다.
좀 더 정확히 말하면 let 은 변수를 선언하는 방법이고, const 는 상수를 선언하는 방법이라고 볼 수 있는 것입니다.
그렇다면 var 는 무엇일까요? 여기저기 자료를 찾아보니 var 는 let 하고 const 가 나오기 이전에 변수를 선언하고 할당하는 데 쓰던 방법이라고 합니다.
근데 var가 가진 여러 문제점들이 있었다고 해요. 특히 var 를 이용하게 되면 똑같은 이름으로 다시 선언할 수 있는 문제가 있었다고 합니다. 예를 들어
var name = 'kimeensung'
var name = 'daniel'
이렇게 다시 선언을 해도 오류 없이 name 이라는 변수가 선언되고 다른 데이터가 할당되는 것이죠. 그러다보니 코드의 양이 방대해질수록 오류가 생길 가능성도 자연스레 높았다고 합니다. 그래서 ES6 부터 let, const 를 추가해 이런 오류를 방지하게 된 것 같아요.
참고로 let 하고 const 는 (같은 함수나 블록 범위 내에서) 같은 이름으로 다시 선언하는 것이 불가능합니다. 여기에 더해서 const의 경우에는 다른 값을 할당하는 것도 불가능한 것이구요.
제목에서처럼 이제 막 개발자 공부를 시작했기 때문에, 초보자가 이해할 수 있는 정도로 해설하는 데 중점을 뒀습니다. 여기에 적은 정보들은 신뢰할 수 있는 정보와 꼭 교차로 검증해보시면서 보시는 것이 도움이 될 것 같습니다.