변수란 어떤 값을 저장하기 위해 확보한 메모리 공간 또는 그 메모리 공간을 식별하기 위해 붙인 이름(식별자)를 말한다.
식별자란 메모리 상에 존재하는 어떤 값을 식별할 수 있는 이름을 말한다. 변수, 함수, 클래스의 이름은 모두 식별자다. 특수문자를 제외한 문자, 숫자, 언더스코어(_), 달러기호($)를 포함할 수 있다. 숫자로 시작할 수 없다.
변수의 선언이란 값을 저장하기 위해 메모리공간을 확보하고 변수 이름과 메모리 공간의 주소를 연결해서 값을 저장할 수 있게 준비하는 것이다.
var 키워드의 한계를 문제점을 보완하기 위해 ES6 에서 let 과 const 가 등장함.
값의 의한 전달 - 원시 값이 함수의 인자로 넘어갈 경우 값이 그대로 복사되어 전달됨.
참조에 의한 전달 - 참조값이 복사되어 전달됨. (얕은복사)