let vs. const vs. var (feat.javascript)(TIL 2일차)

EenSung Kim·2021년 4월 22일
1
post-custom-banner

"var는 가급적 쓰지 않는 것으로"


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의 경우에는 다른 값을 할당하는 것도 불가능한 것이구요.

제목에서처럼 이제 막 개발자 공부를 시작했기 때문에, 초보자가 이해할 수 있는 정도로 해설하는 데 중점을 뒀습니다. 여기에 적은 정보들은 신뢰할 수 있는 정보와 꼭 교차로 검증해보시면서 보시는 것이 도움이 될 것 같습니다.

profile
iOS 개발자로 전직하기 위해 공부 중입니다.
post-custom-banner

0개의 댓글