[learning javascript] chapter 3. 리터럴과 변수, 상수, 데이터 타입

리터럴과 변수, 상수, 데이터 타입

변수와 상수

변수와 상수 중 어떤 것을 써야 할까요?

식별자 이름

리터럴

원시타입과 객체

숫자

문자열

이스케이프

특수문자

코드 설명 예제
\n 라인 피드(ASCII/Unicode 10) 유닉스계열 줄바꿈 문자 “Line1\nLine2”
\r 캐리지 리턴(ASCII/Unicode 13) 윈도우 줄바꿈 문자 “Windows line 1\r\n Windows line2”
\t 탭(ASCII/Unicode 9) “Speed:\t60kph”
' 작은 따옴표 “Don't”
" 큰 따옴표 ‘Sam said "hello".’
\` | 백틱 (ES6) | `New in ES6 : \` strings.`    
$ 달러 기호 (ES6) `New in ES6: ${interpolation}`
\\ 역슬래시 “Use \\\\ to represent \\!”
\uXXXX 임의의 유니코드 코드 포인트. 여기서 XXXX는 16진수 코드 포인트 “De Morgan’s law: \u2310(P \u22c0Q) \u21D4 (\u2310P) \u22c1 (\u2310Q)”
\xXX 라틴-1 문자. 여기서 XX는 16진수 라틴-1 코드 포인트 “\xc9p\xe9e is fun, but foil is more fun.”
코드 설명 예제
\0 NUL 문자(ASCII/Unicode 0) “ASCII NUL: \0”
\v 세로 탭(ASCII/Unicode 11) “vertical tab: \v”
\b 백스페이스(ASCII/Unicode 8) “Backspace: \b”
\f 폼 피드(ASCII/Unicode 12) “Form feed: \f”

템플릿 문자열

여러 줄 문자열

숫자와 문자열

불리언

심볼

null과 undefined

객체

const sam2 = { name: ‘Sam’, age: 4 }; // 한 줄로 선언

const sam3 = { name: ‘Sam’, classification: { // 프로퍼티 값도 객체가 될 수 있음 kingdom: ‘Anamalia’, phylum: ‘Chordata’, class: ‘Mamalia’ order: ‘Carnivoria’, family: ‘Felidae’, subfamily: ‘Felinae’, genus: ‘Felis’, species: ‘catus’, }, };

- 위 예제에서 sam1과 sam2는 다른 객체 (프로퍼티만 같음)
- sam3가 family에 접근하는 방법
```javascript
sam3.classification.family;         // "Felidae"
sam3["classification"].family;      // "Felidae"
sam3.classification["family"];      // "Felidae"
sam3["classification"]["family"];   // "Felidae"

Number, String, Boolean 객체

배열

// 첫번째 요소를 가져옴 arr[0]; // ‘a’ // arr의 마지막 요소의 인덱스는 arr.length-1 arr[arr.length - 1]; // ‘c’

- 배열 요소의 값을 덮어쓸 때는 새 값을 할당하면 됨
```javascript
const arr = [1, 2, 'c', 4, 5];
arr[2] = 3;     // arr은 이제 [1, 2, 3, 4, 5] 임

객체와 배열 마지막의 쉼표

날짜

정규 표현식

// 미국 전화번호 정규표현식 const phone = /(:?+1)?(:?(\d{3}}\s?|\d{3}[\s-]?)\d{3}[\s-]?\d{4}/;


## 맵과 셋
- ES6에서는 Map과 Set, WeakMap과 WeakSet을 도입

## 데이터 타입 변환

#### 숫자로 바꾸기
- Number 객체 생성자 사용
```javascript
const numStr = "33.3";
const num = Number(numStr);     // 숫자로 변환, Number객체의 인스턴스가 아님

문자열로 변환

불리언으로 변환

요약