모던 자바스크립트 Deep Dive / 4장(변수)

서지영·2021년 11월 29일
0
post-thumbnail

★ 내용 정리

  • 연산자(operator) : 피연산자를 연산하여 새로운 값을 만듦
  • 피연산자(operand) : 연산의 대상으로서, 값으로 평가될 수 있는 표현식

    10 + 20 : 여기서 +는 연산자 / 10, 20은 피연산자

  • 리터럴(literal) : 10, 20, + 라는 기호

  • 파싱(parsing) : 표현식의 의미를 해석하는 것

  • 메모리 : 데이터를 저장할 수 있는 메모리 셀의 집합체로, 메모리 셀 하나의 크기는 1바이트(8비트)이다.
    1바이트 단위로 데이터를 저장하거나 읽음

  • 변수 : 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 도는 그 메모리 공간을 식별하기 위해 붙인 이름으로서, 즉 값의 위치를 가르키는 상징적인 이름임

    var result = 10 + 20;
    result(변수명, 식별자) = 30(변수값);

  • 식별자(identifier) : 값이 저장되어 있는 메모리 주소와 매핑 관계를 맺으며, 이 매핑 정보도 메모리에 저장되어야 함 / 식별자는 값이 아니라 메모리 주소를 기억하고 있기 때문에 메모리 주소에 붙인 이름이라고 생각하면 됨

  • 할당(assignment) : 변수에 값을 저장하는 것

  • 참조(reference) : 변수에 저장된 값을 읽어 들이는 것

  • 변수 선언(variable declaration) : 변수를 생성하는 것으로, 변수 선언을 하지 않을 경우에는 참조 에러(ReferenceError)가 발생함

  • 변수 선언 키워드 : var, let, const

  • 변수 선언 이후, 변수에 값이 할당되지 않은 경우 undefined라는 값으로 암묵적으로 할당되어 초기화 됨

  • 초기화(initialization) : 변수가 선언된 이후에 최초로 값을 할당하는 것이며, 초기화 단계를 거치지 않을 경우 garbage value이 나올 수 있음

  • 변수 호이스팅(variable hoisting) : 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징으로, 모든 선언문은 런타임 이전 단계에서 먼저 실행됨

  • 재할당 : 이미 값이 할당되어 있는 변수에 새로운 값을 또다시 할당하는 것으로, 현재 변수에 저장된 값을 버리고 새로운 값을 또다시 할당하는 것을 말함

  • 상수(constant) : 단 한 번만 할당할 수 있는 변수(한번 정해지면 변하지 않는 값)

    cont foo = 10; // undefined
    foo = 100; // TypeError 발생


★ 질문 사항

  • console.log(score); 를 변수 선언 전 입력할 경우 교재에서 undefined가 나올 것이라고 했는데 실제 실습해보니 참조에러가 뜸

★ 참고 사항

  • 식별자 네이밍 규칙 및 예약어 (p.47)
  • 4가지 유형의 네이밍 컨벤션 (p.49)
  1. 카멜 케이스(camelCase)
  2. 스네이크 케이스(snake_case)
  3. 파스칼 케이스(PascalCase)
  4. 헝가리언 케이스(typeHungarianCase)

자바스크립트에서는 일반적으로 변수나 함수의 이름에는 카멜 케이스를 사용하고,
생성자 함수, 클래스 이름에는 파스칼 케이스를 사용한다.


profile
코딩코딩

0개의 댓글