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 |
댓글