- 변수의 선언과 할당에 대해서 설명하고 코드로 작성할 수 있어야 한다.
- 표현문이 값으로 변환되어서 변수에 할당되어 담기는 과정을 설명할 수 있어야 한다.
'상황에 따라 변할 수 있는 값'을 말하고 '이름(Label)이 붙은 값'을 의미한다. 변수는 어떤 값을 넣기 위해 만들어진 이름이 붙은 상자로 쉽게 이해할 수 있다. 변수에는 들어갈 수 있는 값이 다 다르기 때문에 변수를 이용하면 선언된 값을 다른 곳에서도 이용할 수 있다. 변수를 사용하게 되면 가독성이 높아지고 코드를 잘못 작성했을 때 조금 더 쉽게 잘못된 곳을 찾을 수 있다는 장점이 있다. 변수와 함께 나오는 개념에는 '선언(declaration)'과 '할당(assignment)'가 있다.
'변수를 선언'한다는 생소한 표현이 나온다. 변수를 선언할 때는 'let'이라는 키워드를 사용한다. 이것은 곧 자바스크립트라는 월드(World)에 변수(상자)가 생겼다는 것을 의미하고, 어떤값을 넣을 수 있는 자리를 컴퓨터 메모리에 미리 잡아둔 것으로 이해할 수 있다. let이라는 키워드는 소문자로 쓰며, 한번 선언을 하면 다시 선언하지 않는다.
let weather; // weather라는 이름을 가진 변수를 let이라는 키워드로 선언
'변수에 값을 할당한다'라는 생소한 표현이 나온다. 위에서 선언한 'weather'라는 변수는 텅빈 상자 상태이므로 그 상자 안에 어떤 값을 넣는 작업을 하는 것을 말한다. 변수에 값을 할당할때는 연산자 '='를 쓰고, '=' 뒤에 할당하고자 하는 값을 넣는다(할당연산자). 여기서 '='은 절대로 '같다'를 의미하는 것이 아니다! '할당한다, 대입한다'는 뜻이다! (이게 헷갈림)
예를 들어서, 변수를 선언하고 값을 할당하는 것을 한번에 표현하면 아래와 같다.
let weather; // weather라는 변수 선언
weather = 'Rainy'; // weather라는 변수(상자)에 문자열 'Rainy'를 할당
let weather = 'Rainy'; // 자주 사용하는 코드라 선언, 할당을 한줄에 쓸수도 있다
선언을 하지 않고 할당을 시도하면, 자바스크립트 월드에 아무것도 없기 때문에 할당을 할 수가 없어서 에러가 나게 된다. 선언은 했는데 할당이 없는 변수라면, 그 결과는 '정의되지 않았다(Undefined)'가 나온다. (빈 상자에 아직 아무것도 넣지 않았으니 빈 상자, 정의되지 않았다가 나오는 것이 당연하다)
표현식에서 변수를 잘 사용할 수 있다. 표현식은 '값을 산출해내는 코드'를 말한다. 자바스크립트도 글자, 숫자, 기호를 한 글자씩 '독해'해서 하나의 값으로 컴파일(compile)한다.
변수명엔 공백을 쓸 수 없기 때문에** 보통 단어의 첫 글자를 대문자로 써서 붙인다. 이게 낙타 등 모양처럼 생겨서 camel case라고 부르기도 한다. 결과물을 다시 변수로 담을 수도 있고 동일한 변수를 이용해서 대입할 수도 있다.
let areaOfCircle = pi * radius * radius; //areaOfCircle 변수명 확인