You are viewing a single comment's thread from:
RE: [hello world] 게임에 필요한 변수를 남겨봅시다!
var 이 있는데 let은 왜 쓰나요? 똑같은 변수가 아닌가요? var는 숫자랑 문자 다 쓸 수 있다고 알고 있는데, const는 상수라지만, let의 의의는 무엇인지 궁금합니다.
var 이 있는데 let은 왜 쓰나요? 똑같은 변수가 아닌가요? var는 숫자랑 문자 다 쓸 수 있다고 알고 있는데, const는 상수라지만, let의 의의는 무엇인지 궁금합니다.
헤헤 똑같은 변수입니다~ let은 에크마스크립트6에 추가된 새롭게 변수를 정의하는 방법입니다. 즉 var는 옛날꺼 let은 지금꺼입니다ㅎㅎ var를 쓰시는 분들도 있지만 언젠가는 let으로 다 바뀌게 되겠지요. var랑 let은 여러 차이가 있습니다. 그중 한개를 말씀드리면 변수의 범위(스코프)의 차이가 있습니다. var는 함수안에서만 스코프가 달라졌는데요. 즉 어떤 함수로도 감싸지 않고 반복문을 쓰면 for(var i =0; .....) 저 i는 전역변수였습니다. 그러나 let은 함수가 아니라 블록단위로 나누기 때문에 전역변수가 되지 않고 계속 i를 사용할 수 있습니다. 그럼 이렇게 생각하실 수도 있겠는데요. "var가 불편했으면 var의 기능을 바꾸지 왜 새로운 let을 쓰게하냐" 만약 var를 그대로 쓰면서 var를 바꾸면 이전에 작성된 코드들은 다 엉망이 될 것입니다. 그래서 let이 추가된 것입니다.