리터럴, 표현식인 문과 표현식이 아닌 문, 데이터 타입
자바스크립트 복습 - 리터럴, 표현식인 문과 표현식이 아닌 문, 데이터 타입
리터럴
- 사람이 이해할 수 있는 문자나 기호를 이용해 값을 생성하는 표기 방식.
- 사람들끼리 미리 약속해서 값을 생성할때 이런 표기법을 쓰자고 만든 것.
- 숫자 정수 문자열 불리언 null undefined 객체 배열 함수 정규표현식 리터럴
표현식인 문과 표현식이 아닌 문
- 값으로 평가될 수 있는 문, 표현식이 평가되면 값을 생성하거나 참조.
- 그래서 1+2=3 이 동치인 것처럼 표현식=값이므로 값이 들어가는 자리에 표현식을 모두 넣을 수 있다.
- 표현식인 문과 아닌 문을 구별할 때 변수에 할당해보면 값이 들어가는 자리에 표현식이 들어가는 것이므로 오류가 없다면 표현식이 맞다.
데이터 타입
- 7개의 데이터 타입이 있는데 원시타입 객체타입으로 나뉜다.
- 숫자 문자열(템플릿 리터럴) null undefined 불리언 symbol / 객체
숫자타입
- 전부 다 실수. 정수로 보여도 뒤에 .0이 있다고 생각하면 된다.
- infinity 양무한대 -infinity 음무한대 NaN not a number
문자열타입
- 16비트 유니코드, 큰 따옴표 작은 따옴표 백틱 사용
- 템플릿 리터럴은 백틱 안에 사용하고 개행, 화이트스페이스, 공백을 모두 적용됨
- 표현식 삽입으로 문자열로 표현할 수 있고 가독성 좋고 간편하다.
불리언타입
undefined, null
- undefined 은 아직 값이 설정되지 않은 것을 의미
- 변수를 초기화 할때 자바스크립트 엔진에서 사용하는 것이므로 일부러 쓰지는 않고, 값이 없다고 고의적으로 설정할 때는 null을 쓴다
- null을 쓰면 변수가 이전에 참조하던 값을 더 이상 참조하지 않겠다는 의미
symbol
- es6 추가된 데이터 타입.
- 이름의 충돌 위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용.
객체
데이터 타입이 필요한 이유
- 값을 저장할 때 확보해야 하는 메모리 공간의 크기를 결정하기 위해
- 값을 참조할 때 한번에 읽어들여야 하는 메모리 크기를 알기 위해서
- 메모리에서 읽어들인 2진수를 어떻게 해석해야 하는지 결정하기 위해