일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Depromeet
- flab
- 버전관리
- OOAD
- 디프만
- 생활코딩
- 에프랩
- 멘토링 후기
- 건국대학교
- 원격 저장소
- time slice
- Round Robin
- OS
- Hot Publisher
- 자바스크립트
- spring boot
- 파이썬
- Cold Publisher
- Git
- 큐시즘
- CLI
- 마블 다이어그램
- js
- github
- RxJava
- js 개발자라면 알아야하는 핵심 컨셉
- spring
- Hot Publish
- Observable
- CPU Scheduling
- Today
- Total
글쓰는 개발자
[이론]js 개발자라면 알아야하는 핵심 컨셉 33개 #2.Primitive Types 본문
js 개발자라면 알아야 하는 핵심 컨셉 33개, 두 번째 주제는 primitive types(기본 자료형)이다.
어떠한 언어를 알아갈 때에 가장 먼저 알아야 할 것 중 하나가 자료형이지 않을까.
최신 ECMAScript 표준은 다음과 같은 7개의 자료형을 정의한다.(MDN 자료 참고)
- 기본 자료형 (Primitive) 인 여섯 가지 데이터 타입
- 별도로 Object 도 있음
symbol과 object를 제외한 5개의 자료형에 대해 이야기해보겠다.
1)Boolean
Boolean은 논리 자료형으로, true/false를 나타낸다.
1==1의 경우 참이므로, true를 출력한다.
1!=1의 경우 거짓이므로, false를 출력한다.
프로그램의 분기를 만들어줄 때 주로 사용되는 자료형이다.
2)Null & Undefined & NaN
3개의 type은 한꺼번에 얘기하는 것이 더 좋을 듯하다.
특히나 Null과 Undefined에 대해서 많이 헷갈리는데, 이를 구분하기 위해선
자바스크립트가 변수를 할당하는 순서를 볼 필요가 있다.
자바스크립트는 변수를 할당하기 전까지 해당 변수의 자료형이 정해지지 않는다.
그래서 위 사진에서처럼 변수 a, b를 선언할 당시에 자료형이 undefined, '정의되지 않음'으로 출력된다.
이후 a에 null을 대입했을 때, a의 값은 null이며 자료형은 object이다.
다시 말해 null은 '없음'의 의미를 갖도록 '정의'된 'object'이고, undefined는 '정의되지 않음'을 나타낸다.
NaN은 'Not a Number'의 약자인데, 1/"a"와 같은 숫자로 정의되지 않는 잘못된 연산을 나타낼 때 쓰이는 자료형이다.
3)Number
Number는 말 그대로 숫자를 나타내는 자료형이다.
연산이 필요한 작업에서 사용되는 자료형이다.
4)String
String, 말 그대로 문자열이다.
굳이 설명할 것 없이 규칙들만 조금 알면 될 것 같다.
여기까지 ECMAScript에서 정의하는 7가지 기본 자료형 중 symbol과 object를 제외한 나머지 5개의 data type에 대해
알아보았다.
symbol과 object는 조금 복잡할 수 있다고 생각하여 다음에 따로 작성해야지.
다음 포스팅은 Value Types and Reference Types가 되겠다.
'Development > 기타' 카테고리의 다른 글
[이론]js 개발자라면 알아야하는 핵심 컨셉 33개 #5.Typeof (0) | 2019.06.14 |
---|---|
[이론]js 개발자라면 알아야하는 핵심 컨셉 33개 #4.Type Coercion (0) | 2019.06.11 |
[이론]js 개발자라면 알아야하는 핵심 컨셉 33개 #3.Value Types and Reference Types (0) | 2019.06.09 |
[이론]js 개발자라면 알아야하는 핵심 컨셉 33개 #1.Call Stack (0) | 2019.06.06 |
[Web Crawling]다음 주식정보 Crawling하기 with Python (5) | 2019.04.07 |