모자딥 4장 변수

릿·2023년 1월 3일
0

4. 변수 (Variable)

4.1 변수란 무엇인가? 왜 필요한가?


변수 : 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름.

4.2 식별자 (Identifier)


  • 어떤 값을 구별해서 식별할 수 있는 고유한 이름 (=== 변수이름)
  • 선언(declaration)에 의해 자바스크립트 엔진에 식별자의 존재를 알린다.

4.3 변수 선언 (Variable declaration)


  • 변수를 생성하는 것.
  • 변수를 사용하려면 반드시 선언이 필요하고 선언할 떄는 var, let, const키워드를 사용한다.
  • 변수를 선언한 이후에 변수에 값을 할당하지 않았다면 자바스크립트 엔진에 의해 undefined이라는 값이 암묵적으로 할당되어 초기화된다.

4.4 변수선언의 실행 시점과 변수 호이스팅


변수 선언은 소스코드가 한 줄씩 순차적으로 실행되는 시점이 아닌 그 이전 단계에서 먼저 실행된다. 이처럼 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징을 변수 호이스팅이라 한다.

4.5 값의 할당


  • 변수에 값을 할당할 때는 할당 연산자 =를 사용한다. 할당 연산자는 우변의 값을 좌변의 변수에 할당한다.
  • 변수 선언은 런타임 이전에 먼저 실행되지만 값의 할당은 런타임에 실행된다.

4.6 값의 재할당


  • 이미 값이 할당되어 있는 변수에 새로운 값을 또 다시 할당하는 것
  • 변수에 값을 재할당 하면 새로운 메모리 공간을 확보하고 그 공간에 값을 저장한다. 불필요한 값은 가비지 콜렉터에 의해 메모리에서 자동 해제된다.

4.7 식별자 네이밍 규칙


  • 식별자는 특수문자를 제외한 문자, 숫자, 언더스코어(_), 달러 기호($)를 포함할 수 있고, 숫자로 시작하는 것은 허용하지 않는다.
  • 예약어는 식별자로 사용할 수 없다.

네이밍 컨벤션

// 카멜 케이스
var firstName;

// 스네이크 케이스
var first_name;

// 파스칼 케이스
var FirstName;

// 헝가리언 케이스
var strFirstName; // type + identifier
var $elem = document.getElementById('myId'); // DOM 노드
var observable$ = fromEvent(document, 'click'); // RxJS 옵저버블
profile
항상 재밌는 뭔가를 찾고 있는 프론트엔드 개발자

0개의 댓글