변수란 무엇일까요?
저번 포스팅에서는 값을 저장하는 장소라고 표현했습니다. 간단하게 표현했지만 사실 이게 딱 맞는 표현입니다. 프로그래밍에서는 값이라고 표현될 수 있는 것들이 여러개가 있고, 그것들은 모두 변수에 담길 수 있습니다.
그럼 값은 무엇이 있을까요?
자바스크립트에서 값은 문자, 숫자, 배열, 객체, 불린, undefined, null 등이 있습니다.
변수를 선언하는 방법을 알아보도록 하겠습니다.
변수는 어떻게 선언할 수 있을까요? 앞에 명령어를 붙여주면 됩니다.
var, let, const를 붙여주면 변수로서 사용할 수 있습니다. 예전에는 var만 사용했지만 let과 const는 var의 한계점을 해결하기 위해 새롭게 추가되었습니다. 변수라고 표현했지만 정확히는 const를 붙이면 상수, let은 변수를 나타냅니다. 상수는 항상 같은 값이죠? 그래서 상수 선언을 하면 값을 변경할 수 없습니다. 값이 변경되려면 let을 사용해야 합니다.
일단 우리가 추가할 코드를 알아보도록 하겠습니다.
let player = "X";
let winner = null;
혼란스럽지만.. 저 코드를 분석해볼까요? let을 붙이면 변수가 된다고 했죠 ? 우리는 player와 winner라는 이름의 변수를 선언한 것입니다. 이름에서 유추할 수 있듯이 저 안에 들어있는 값은 바뀌게되겠죠. 가령 "X" 라고 적혀 있는 값이 "O"로 바뀌고, "O"였던 값이 "X"로 바뀔 것입니다.(tic tac toe 게임에서는 "O"플레이어와 "X"플레이어가 있으니까요.)
winner라는 변수는 승자가 정해지면 승자("O"플레이어 또는 "X"플레이어)가 담기게 됩니다.
변수의 이름을 적고나면 = 를 씁니다. 변수에 값을 할당하는 기호입니다. 그리고 등호의 오른쪽에 값을 쓰면 됩니다.
값들 중에 우리가 사용한 것은 문자와 null입니다.
문자는 "" 와 ''사이에 써 넣으면 됩니다. 코드를 보면 우리는 "X"라고 써 넣은 거죠.
null은 "값이 없다. 일단 비우겠다."라는 뜻입니다. 왜냐하면 승자는 정해지지 않아서 모르니 null이란 값을 사용한 것입니다.
변수를 사용하는 이유?
같은 값들이 계속 반복되니 변수로 지정해서 간편하게 사용할 수 있습니다. 편의성을 늘려주죠.
"이름"
"이름"
"이름"
"이름"
// 위처럼 이렇게 사용하는 것보다
name이라는 변수에 "이름"이라는 문자가 담겨있다고 생각해보세요.
let name = "이름";
name
name
name
name
똑같아 보일 수도 있지만 "이름"을 "닉네임"으로 바꿔야하는 순간이 오면
그냥 값만 사용했을 땐 하나하나 바꿔야하지만 변수를 활용했을 땐 변수에 담긴 값만
바꿔주면 밑에 변수가 사용된 것들은 자동으로 값이 바뀝니다. 얼마나 편한지 아시겠나요?
다음엔 함수를 배워보고 게임에 필요한 함수를 만들어보도록 하겠습니다.