본문 바로가기
개인공부/모던 자바스크립트 Deep Dive

4. 변수 / 5. 표현식과 문

by 강물둘기 2022. 12. 17.

4.변수

 

메모리 - 메모리셀의 집합체    데이터 2진수로 저장, 읽기

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

                             사용자가 직접적으로 메모리에 접근하는것은 어렵고 위험하기 때문에 변수를 통해 간접적으로 접근한다.

식별자(identifier) - 어떤 값을 구별해서 식별할 수 있는 고유한 이름 / 메모리 주소에 붙인 이름

                                변수, 함수, 클래스 등 모두 식별자

선언(declaration)   -  이름등록, 메모리 공간확보    var키워드는 선언과 함께 초기화 진행(undefined)

변수 호이스팅(hoisting) - 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 것

할당과 재할당 -  =(할당연산자) 사용  확보된 메모리 공간을 지우고 저장하는것이 아니라 새롭게 메모리 공간을 확보

* 가비지 콜렉터 - 더이상 사용하지 않는 메모리 공간 해제 , 메모리 누수 방지  (*weakRef라는 기능이 최근에 추가됨)

식별자 네이밍 규칙 - 예약어x, 숫자시작x, 대소문자 구분      문자(특수문자x),숫자, _ , $ 포함가능

네이밍 컨벤션 - camelCase , snake_case , PascalCase , typeHungarianCase

 

5. 표현식과 문

 

값(value) - 표현식이 평가되어 생성된 결과

리터럴(literal) - 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법

표현식(expression) - 값으로 평가될 수 있는 문

문(statement) - 프로그램을 구성하는 기본 단위이자 최소 실행 단위    *프로그램은 문의 집합체

                            선언문, 할당문, 조건문, 반복문 등

토큰(token) - 문법적으로 더 이상 나눌 수 없는 코드의 기본요소   ex) 키워드, 식별자, 연산자, 리터럴, 세미콜론, 마침표 등

세미콜론(;) - 문의 종료를 나타냄   *코드블록 {} 은 자체종결성을 갖기 때문에 세미콜론을 붙이지 않는다.

 

*표현식인문과 표현식이 아닌 문을 구분하는 방법은 변수에 할당해 보는 것이다.

 

Reference

- 이웅모 ,  모던 자바스크립트 Deep Dive , 위키북스 , 2020 

'개인공부 > 모던 자바스크립트 Deep Dive' 카테고리의 다른 글

10장 객체 리터럴  (0) 2022.12.23
9. 타입변환과 단축평가  (0) 2022.12.21
8. 제어문  (0) 2022.12.21
7. 연산자  (0) 2022.12.20
6.데이터타입  (0) 2022.12.19

댓글