Skip to content
On this page

JavaScript 변수

수정하기
문서 생성 2021-04-28 11:20:52 최근 수정 2022-12-20 23:24:53

변수란?

메모리는 데이터를 저장할 수 있는 메모리 셀의 집합이고 이 메모리 셀 하나의 크기는 1바이트(8비트)이다. 즉 컴퓨터는 메모리 셀의 크기, 1바이트 단위로 데이터를 저장하거나 읽는다.
각 셀은 고유의 메모리 주소를 갖는데 메모리 공간의 위치를 나타내며 0부터 시작해 메모리의 크기만큼 정수로 표현된다.

이 메모리에 저장된 데이터를 다시 사용하려면 메모리 주소를 통해 데이터에 접근해야 한다. 그래서 변수를 통해 접근을 하는데 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간, 또는 그 공간을 식별하기 위해 붙인 이름을 뜻한다.

변수는 프로그래밍 언어의 컴파일러 또는 인터프리터에 의해 값이 저장된 메모리 공간의 주소로 치환이 되서 실행된다.

식별자

  • 함수, 프로퍼티, 함수 매개변수의 이름을 말한다.
  • 구별해서 식별할 수 있는 고유한 이름이다.
  • 첫 문자는 반드시 글자나 밑줄(_), 달러 기호($) 중 하나여야 한다.

네이밍 컨벤션

var calmelCase; // 카멜 케이스
var snake_case; // 스네이크 케이스
var PascalCase; // 파스칼 케이스
// 헝가리언 케이스
var typeHungarianCase; // type + identifier
var el = document.getElementById('id');
  • 일반적으로 변수나 함수 이름은 카멜 케이스, 생성자 함수, 클래스의 이름은 파스칼 케이스를 사용한다.

변수 선언하기

  • var, let, const 키워드를 사용한다.

var

var i, sum;
var message = 'hello';
  • var 로 변수를 선언한 후 초기 값을 지정하지 않으면 값이 설정될 때까지 undefined가 할당된다.

변수 이름은 어디에 등록되나?

  • 변수 이름을 비롯한 모든 식별자는 실행 컨텍스트에 등록된다.
    • 실행 컨텍스트(Execution Context): 자바스크립트 엔진이 소스코드를 평가하고 실행하기 위해 필요한 환경을 제공하고 코드의 실행 결과를 실제로 관리하는 영역

변수에 값 할당하기

var message = 'hi';
message = 'hello';
  • 변수에 값을 재할당하면 변수의 값이 변경된다.
  • 하지만 이전에 있던 hi가 저장된 메모리 공간을 지우고 거기에 hello를 넣는 것이 아니라 새로운 메모리 공간을 확보해 거기에 hello를 저장하는 것!
    • 기존에 저장되어 있던 메모리 공간은 어떤 식별자와도 연결되지 않게 된다. → 가비지 콜렉터에 의해 메모리에서 자동 해제된다.

reference