변수(variable)

Steve·2021년 12월 3일
0

변수(variable)란?

변수란 어떤 값을 저장하기 위해 확보한 메모리 공간 또는 그 메모리 공간을 식별하기 위해 붙인 이름(식별자)를 말한다.

식별자(identifier)란?

식별자란 메모리 상에 존재하는 어떤 값을 식별할 수 있는 이름을 말한다. 변수, 함수, 클래스의 이름은 모두 식별자다. 특수문자를 제외한 문자, 숫자, 언더스코어(_), 달러기호($)를 포함할 수 있다. 숫자로 시작할 수 없다.

변수의 선언(declaration)이란?

변수의 선언이란 값을 저장하기 위해 메모리공간을 확보하고 변수 이름과 메모리 공간의 주소를 연결해서 값을 저장할 수 있게 준비하는 것이다.

var 키워드의 특징

  1. 변수 중복 선언 가능 - 의도치 않게 변수에 값을 재할당할 수 있음
  2. 함수 스코프만 지역 스코프로 인정
  3. 변수가 선언과 동시에 undefined 로 초기화되어 호이스팅됨. (선언 전에도 undefined 로 사용가능)
  4. 전역 객체(window)의 프로퍼티가 됨

var 키워드의 한계를 문제점을 보완하기 위해 ES6 에서 let 과 const 가 등장함.

let 키워드의 특징

  1. 같은 스코프 내 변수 중복 선언 불가
  2. 블록 레벨 스코프 사용
  3. 변수가 선언되기 이전에는 변수 사용 불가능
  4. 전역 객체(window)의 프로퍼티가 되지 않음.

const 키워드의 특징

  1. 선언과 초기화가 동시에 이루어져야 함
  2. 재할당 불가

값에 의한 전달(call by value)과 참조에 의한 전달(call by reference)의 차이

값의 의한 전달 - 원시 값이 함수의 인자로 넘어갈 경우 값이 그대로 복사되어 전달됨.
참조에 의한 전달 - 참조값이 복사되어 전달됨. (얕은복사)

profile
게임과 프론트엔드에 관심이 많습니다.

0개의 댓글