기본 타입과 추론
string · number · boolean 과, 적지 않아도 정해지는 타입입니다.
이름 뒤에 콜론으로 적습니다
타입은 이름 뒤에 : 를 찍고 적습니다. 가장 많이
사용하는 셋은 JavaScript 의 값 종류와 그대로 이어집니다(1.4 데이터 타입).
let 이름: 타입 = 값;
| 타입 | 담는 것 | 보기 |
|---|---|---|
number | 모든 숫자입니다. 정수와 소수를 나누지 않습니다. | 3 · 1.5 · -7 |
string | 글자입니다. | "보고서" |
boolean | 참과 거짓입니다. | true · false |
세 가지를 적어 봅니다
let count: number = 3; let title: string = "보고서"; let done: boolean = false; console.log(count, title, done); console.log(typeof count, typeof title, typeof done);
typeof 는 실행할 때 값의 종류를 보는 JavaScript
문법입니다. 타입을 적는 : number 와 글자가 같아 보이지만
하는 일이 다릅니다 — 하나는 검사할 때, 하나는 실행할 때입니다.
적지 않아도 정해집니다
넣은 값을 보고 타입이 정해집니다. 이것을 추론이라고 합니다. 그래서 대부분의 자리에는 타입을 적지 않아도 됩니다.
let count = 3; const title = "보고서"; console.log(count, title); count = 5; count = "다섯";
: number 를 어디에도 적지 않았는데 막혔습니다.
= 3 을 보고 number 라고
정해 둔 것입니다.
그러면 언제 적나요. 값을 나중에 넣을 때, 그리고 함수의 매개 변수처럼 넣는 값을 미리 알 수 없을 때 적습니다(2.1). 값을 바로 넣는 자리에 굳이 적으면 같은 말을 두 번 하는 셈입니다.
// 값을 나중에 넣을 때는 적어 두어야 합니다. let total: number; total = 100; console.log(total);
const 는 더 좁게 정해집니다
const 는 다시 넣을 수 없으므로, 타입이 그 값 하나로
좁혀집니다. let 은 나중에 바뀔 수 있으니
string 으로 넓게 잡습니다.
const kind = "member"; // 타입은 "member" — 이 글자 하나만 let role = "member"; // 타입은 string — 어떤 글자든
"member" 처럼 값 하나가 그대로 타입이 되는 것을
리터럴 타입이라고 합니다. 1.4 에서 이것을 여럿 묶어 사용합니다.
처음에 자주 걸리는 것
Number · String 은
JavaScript 의 생성자이고, 타입으로 적을 것은 소문자
number · string 입니다.
추론이 되는 자리까지 적으면 코드만 길어지고, 값이 바뀔 때 타입도 함께 고쳐야 합니다. 추론이 안 되는 자리에만 적습니다.
: number 를 적었다고 해서 실행 중에 숫자인지
검사해 주는 것이 아닙니다. 밖에서 들어온 값(서버 응답 등)은
typeof 로 직접 확인해야 합니다.
직접 해보기
가격(숫자)과 이름(글자)을 타입을 적어 선언하고, 한 줄로 출력하세요.
let price: number = 1000;
let label: string = "연필";
console.log(`${label} ${price}원`);위 정답에서 지워도 되는 타입을 지우고, 지우면 안 되는 자리가 어디인지 생각해 보세요.
any).이 단원의 정리
- 타입은 이름 뒤에
:를 찍고 적습니다. - 자주 사용하는 것은
number·string·boolean이고 모두 소문자입니다. - 값을 바로 넣으면 타입이 저절로 정해집니다(추론).
const는 그 값 하나로,let은 넓게 정해집니다.- 값을 나중에 넣는 자리에는 적어 두어야 합니다.