Let 2

[JavaScript] 배열 (let 배열 vs const 배열)

JavaScript에서 배열을 처음 배울 때 '배열은 계속 값이 바뀌는데 .. const로 선언하면 안 되는 거 아닌가?' 라는 고민이 생겼었다.그리고 결론부터 말하자면, 배열은 let과 const 둘 다로 선언할 수 있으며, 심지어 오히려 배열을 const로 선언하는 경우가 더 많다고 한다. 이게 가능한 이유는 let과 const가 배열이 변하느냐를 기준으로 동작하는 게 아니라, `변수가 무엇을 가리키는지(= 참조하는지)를 다시 바꿀 수 있느냐(= 재할당이 가능하냐)`를 기준으로 동작하기 때문이다. 1. 배열배열은 보통 아래와 같이 쓰는데, 마치 숫자들을 넣어논 상자 같은 느낌이다.const arr = [1, 2, 3]; 그러나 JavaScript에서 배열은 원시값이 아니라 객체임에 주의해야 한다..

[JavaScript] let과 const

JavaScript를 처음 배울 때, 변수를 선언하는 세 가지 방법으로 var, let, const를 배우게 된다.그리고 대부분이 값이 바뀌면 let, 바뀌지 않으면 const라 외우고 넘어간다.그러나 실제로 let과 const가 등장한 이유는 훨씬 깊고, JS의 실행 컨텍스트, 스코프 모델, 예측 가능성과 직결되어 있다. 따라서 이번 글에서는 아래의 것들을 하나씩 정리해보고자 한다.var가 문제가 되었던 이유let과 const는 어떤 문제를 해결하고자 등장한 건지스코프, 호이스팅, TDZ, 불변성 관점에서 어떻게 동작하는지 1. var의 구조적 한계ES6 이전의 JS에는 변수 선언 방법이 사실상 하나 뿐이었다. 바로, 아래와 같이 var를 이용하여 선언하는 것이다.var count = 1; 그러나..