변수와 값


체크아웃 페이지를 만드는데 상품 가격이 세 곳, 즉 상품 항목, 합계, 결제 확인란에 표시된다고 해봅시다. 19.99를 세 곳에 직접 하나씩 입력하면, 세일이 벌어질 때마다 오후 시간을 통째로 찾아 바꾸기에 써야 합니다. 값을 이름 하나에 담아 저장해두면 한 곳만 바꿔도 그 이름을 쓰는 모든 곳이 함께 바뀝니다. 이 이름을 변수라고 하며, 이 장에서는 변수를 만드는 방법, 언제 값을 고정해야 하는지, 그리고 이름을 어떻게 지어야 하는지 다룹니다.
값 저장하기
**변수**는 값을 나중에 다시 쓸 수 있도록 붙여주는 이름입니다. let이라는 단어, 이름, =, 그리고 저장하고 싶은 값을 순서대로 써서 변수를 만듭니다.
let userName = "Sam";
console.log(userName); // Sam이 줄은 ""Sam"이라는 텍스트를 userName이라는 이름으로 기억하라"는 뜻입니다. 이제부터 userName이라고 쓰면 어디서든 자바스크립트가 저장해둔 값을 돌려줍니다.
=는 "이 값을 이 이름으로 저장하라"는 뜻으로 읽으세요. 수학 수업에서 양쪽이 이미 같음을 나타내는 등호와는 다릅니다. =는 하나의 명령어로, 오른쪽에 있는 값을 가져다 왼쪽 이름 아래에 넣으라는 뜻입니다.
저장하라는 명령이기 때문에, 나중에 마음이 바뀌면 값을 바꿀 수 있습니다. 이름과 =를 다시 쓰고 새 값을 적으면, 자바스크립트는 가장 최근 값을 유지합니다.
let score = 0;
score = 10;
console.log(score); // 10첫 줄은 score를 만들고 그 안에 0을 넣습니다. 둘째 줄은 새 값을 넣습니다. let을 두 번 쓰지 않은 이유는 score가 이미 존재하기 때문입니다. 새로 만드는 게 아니라 값을 갱신하는 것입니다.
let name = value 형태로 만듭니다. =는 "이 값을 이 이름으로 저장하라"는 뜻으로 읽으세요, 수학 수업의 등호가 아닙니다. 나중에 값을 바꾸려면 let 없이 이름과 =를 다시 쓰면 되고, 자바스크립트는 가장 최근 값을 유지합니다. let과 const
변수를 만드는 방법에는 let과 const, 두 가지 단어가 있습니다. let은 이미 보았습니다. 값이 설정된 뒤로 절대 바뀌지 않아야 할 때는 const를 씁니다.
const taxRate = 0.2;
console.log(taxRate); // 0.2세율은 고정된 값이므로 const가 어울립니다. "이 값은 정해졌고, 실수로 바뀌길 원하지 않는다"는 뜻을 담고 있습니다. const에 값을 다시 대입하려 하면 자바스크립트가 오류로 막아주는데, 이는 든든한 안전장치입니다.
먼저 const를 써보세요. let은 값이 바뀔 것이 확실할 때만 씁니다. 예를 들어 올라가는 점수나 계속 더해지는 합계 같은 경우입니다. 값이 평생 바뀌지 않는다면 const가 그 사실을 알려주고 지켜줍니다.
const currency = "USD";
let itemsInCart = 0;
itemsInCart = 3;
console.log(itemsInCart); // 3화폐 단위는 바뀌지 않으므로 const입니다. 장바구니 개수는 바뀌므로 let입니다.
const를, 바뀔 값에는 let을 쓰세요. 먼저 const를 시도해보고, 값이 바뀌어야 한다는 걸 알 때만 let으로 바꾸세요. const에 재대입하면 오류가 나는데, 이는 안전장치가 제 역할을 하고 있는 것입니다. 변수 이름 짓기
변수 이름에는 몇 가지 규칙이 있습니다. 글자, 숫자, _, $를 쓸 수 있지만, 숫자로 시작할 수 없고, 공백을 포함할 수 없습니다.
let firstName = "Sam";
let item2 = "book";이름은 대소문자를 구분합니다. 즉 firstName과 firstname은 서로 다른 변수입니다. 대문자를 잘못 쓰는 것은 초보자들이 흔히 겪는 실수이니, 이름을 일관되게 유지하는 게 도움이 됩니다.
자바스크립트 개발자들이 쓰는 표기법을 **camelCase**라고 부릅니다. 첫 글자는 소문자로 시작하고, 그 뒤에 오는 각 단어의 첫 글자를 대문자로 쓰며, 공백은 넣지 않습니다. 그래서 firstName, itemPrice, isLoggedIn처럼 씁니다.
let itemPrice = 19.99;
let isLoggedIn = true;규칙을 넘어서, 담고 있는 내용을 그대로 드러내는 이름을 지향하세요. price가 p보다 낫고, userName이 x보다 낫습니다. 코드를 쓰는 시간보다 읽는 시간이 훨�다 길기 때문에, 명확한 이름이 코드를 읽기 쉽게 만듭니다.
_, $를 쓸 수 있지만, 숫자로 시작하거나 공백을 포함할 수는 없습니다. 이름은 대소문자를 구분하므로 firstName과 firstname은 서로 다릅니다. itemPrice처럼 camelCase를 쓰고, 담고 있는 내용을 드러내는 이름을 골라 p 대신 price를 쓰세요. 변수, 그다음은
변수는 그 위에 나머지 모든 것이 올라서는 토대입니다. 값은 그것을 가리킬 이름이 있기 전까지는 쓸모가 없습니다. 이제 여러분은 중요한 세 가지 동작, 즉 let으로 값을 저장하고, const로 값을 고정하고, 이름을 잘 짓는 법을 익혔고, 앞으로 작성할 모든 프로그램에서 이 셋을 계속 쓰게 될 것입니다.
다음으로는 데이터 타입 편에서 지금까지 저장해온 텍스트, 숫자, 불리언 같은 값 자체를 살펴보고, 각 타입이 그렇게 동작하는 이유를 알아봅니다. 그다음 연산자 편에서는 이 값들을 조합하는 방법을 보여주고, 함수 편에서는 변수가 값에 이름을 붙이듯 작업 하나에 이름을 붙이는 방법을 배웁니다.

