변수는 데이터를 담기 위한 메모리 공간을 의미한다. 쉽게 생각하면, 어떤 값을 담기 위한 상자나 그릇이라고 비유할 수 있다. 그리고 여기에 담긴 값은 다른 값으로 바꾸는 것이 가능하다.
데이터의 종류로는 문자형(String), 숫자형(Number), 논리형(Boolean) 그리고 빈(Null)데이터가 있다.
변수는 var, let, const키워드를 사용하여 선언하고 값을 할당한다. 그리고 식별자인 변수명을 사용해 변수에 저장된 값을 참조한다.
var box; //변수 box선언
box=100; //변수 box에 100할당
위 그림처럼 초기에는 변수 box에 null(값이 등록되지 않은)값을 가진 상태이다. box에 100을 대입하면 변수에 100이 저장하게 된다.
변수에는 하나의 값만 넣을 수 있다. 만약 변수 box에 값을 두번 넣게 된다면 기존에 저장되어 있던 100은 삭제되고 새로운 데이터 30이 저장하게 된다.
var box;
box=100;
box=30; // 기존 값 100 삭제되고 새로운 값 30이 저장됨
console.log(box); // 30 출력
값을 할당하지 않은 변수 즉 선언만 되어 있는 변수는 undefined로 초기값을 가진다. 선언하지 않는 변수에 접근하면 ReferenceError가 발생한다.
var x;
console.log(x); // undefined
console.log(y); // ReferenceError
var를 생략할 수도 있지만 이것은 유효범위라는 것에 영향을 미친다
변수의 이름은 $, _, 혹은 특수문자를 제외한 모든 문자로 시작할 수 있다.
예를 들어보자.
console.log(100+10);
console.log((100+10)/10);
console.log(((100+10)/10)-10);
console.log((((100+10)/10)-10)*10);
100에 10을 더하고, 10을 나눈 후에 다시 10을 빼고 거기에 10을 곱해야한다.
그런데 갑자기 100이라는 숫자를 모두 다른 값으로 변경하고 싶을 때,
우리는 하나하나 값을 바꿔야 한다.
a = 100;
a = a + 10;
console.log(a); // 110
a = a / 10;
console.log(a); // 11
a = a - 10;
console.log(a); // 1
a = a * 10;
console.log(a); // 10
위의 예시와 같이 변수 a의 값 100을 다른 숫자로 바꾸면 나머지 로직에 대입되는 변수의 값이 모두 바뀐다.
코드를 수정할 일이 줄어들게 된다는 것은 그만큼 해야 할 일이 줄어든다는 의미가 있다.
그 과정에서 유지보수가 쉽고 버그발생 가능성을 낮출 수 있다.
참고문헌 : do it! 자바스크립트 + 제이쿼리 입문
참고사이트 : https://ljtaek2.tistory.com/11?category=863722