-
저번 글에서 a를 어떻게 바꾸는지 알아보았습니다. 처음의 a는 221이었지만 지금은 4가 되었습니다.
하지만 이 변수의 값이 변하지 않기를 바랄 때가 있습니다. 프로그래머들은 가끔 변수의 값을 바꿉니다.
에러를 눈치채지 못하거나
만약 1000라인이 넘는 JavaScript 코드를 가지고 있고, info라는 이름의 변수에 let을 사용한다면 여러분은 분명 1000줄 중에서 info라는 변수를 다시 선언하는 일이 생길 것입니다. info를 어떤 값으로 정했는데 이걸 까먹고 나중에 info에 다른 값을 넣어 바꿔버리는 것이죠.그렇게 되면 문제가 발생했을 때 무슨 일이 일어났는지 알 수 없습니다. 그 긴 코드에서 사막에 바늘찾기 처럼 코드 에러를 찾아야 합니다. 마구 혼란스럽고 일을 때려치고 싶을 것입니다. 찾고나면 어이없는 에러였다는 점에서 현타도 올겁니다.
그래서 이걸 해결하기 위해 let 대신에 const라는 걸 사용할 겁니다. const는 constant, 상수라는 뜻입니다. 상수는 안정적이라는 뜻입니다. 변하지 않아요. 이 경우에는 JavaScript가 이렇게 반응할 겁니다.
"잠깐만, a는 상수의 221이라고 했잖아.
왜 바꾸려고 하는 거야? 너는 바꿀 수 없어."
그러면 Run하고 어떤 일이 일어나는지 볼까요? 에러가 생겼습니다.
Assignment to constant variable. 이건 매우 중요합니다. 항상 에러를 읽으려고 시도하세요. 프로그래머로서 에러를 읽을 수 있어야 합니다. 모든 정보나 대부분의 정보가 에러에 있기 때문이죠.
그래서 무슨 일이 일어났는지 보자면 상수에 변수 대입. 이게 에러입니다. 왜냐면 상수에는 대입을 할 수 없기 때문이죠.
에러를 보면 라인을 알려줍니다. script.js:3:3 그러니까 문제는 3번째에 있다고 알려주는 겁니다.
그래서 만약 다른 사람들이 여러분의 변수를 바꿀 수 없게 하려면 const를 사용하면 됩니다. 변수가 바뀌어도 괜찮다면 let을 사용하면 되고요.
모든 게 잘 작동하네요. let은 변수가 바뀌는 걸 허용하기 때문입니다. 여러분이 원하는 만큼 말이죠.그게 let과 const의 유일한 다른 점입니다. let만이 값을 다른 값으로 바꿀 수 있고, const는 바꿀 수 없습니다.
이게 JavaScript의 변수에 대한 이야기입니다. 쉬워요. 아주 쉬워요.var = varible을 뜻하는 변수도 있습니다.
사실 var의 문제는 별로 많지 않습니다. 문제는 JavaScript가 var을 적용한 이상한 규칙이 있다는 겁니다. 그리고 let을 쓴 것처럼 var도 값을 바꿀 수 있습니다.
역시 완벽하게 작동합니다. 하지만 이게 바뀌는지 아닌지는 중요하지 않습니다. 아마 6년 전 쯤 우리는 var만 쓸 수 있었습니다. const나 let이 없었거든요. 그러니까 지금이 딱 배우기 좋은 시기라는 소리입니다.
다음에는 변수에 넣을 수 있는 Data의 종류에 대해 알아볼 거예요.
지금은 숫자만 넣어봤지만, 다른 건 어떤 게 들어갈 수 있는지 말이죠. 😎'Blog > 노마드코더 - 초보자를 위한 바닐라 자바스크립트' 카테고리의 다른 글
#1-9 Organizing Data with Arrays (0) 2021.08.24 #1-8 Data Types on JS (0) 2021.08.22 #1-6 Your first JS Variable(변수!) (0) 2021.08.22 #1-5-1 What are we learning (0) 2021.08.22 #1-5 Hello World with Javascript (0) 2021.08.22 댓글