TS LAB
TS 1.2 · 1부. 타입 기초

기본 타입과 추론

string · number · boolean 과, 적지 않아도 정해지는 타입입니다.

예상 학습 시간 14분 실행 단추가 있는 예제는 고쳐서 실행해 볼 수 있습니다 난이도 입문
개념 설명

이름 뒤에 콜론으로 적습니다

타입은 이름 뒤에 : 를 찍고 적습니다. 가장 많이 사용하는 셋은 JavaScript 의 값 종류와 그대로 이어집니다(1.4 데이터 타입).

let 이름: 타입 = 값;
타입담는 것보기
number모든 숫자입니다. 정수와 소수를 나누지 않습니다.3 · 1.5 · -7
string글자입니다."보고서"
boolean참과 거짓입니다.true · false
최소 예제 · 편집 가능

세 가지를 적어 봅니다

main.ts
let count: number = 3;
let title: string = "보고서";
let done: boolean = false;

console.log(count, title, done);
console.log(typeof count, typeof title, typeof done);
출력
3 보고서 false number string boolean

typeof실행할 때 값의 종류를 보는 JavaScript 문법입니다. 타입을 적는 : number 와 글자가 같아 보이지만 하는 일이 다릅니다 — 하나는 검사할 때, 하나는 실행할 때입니다.

상세 사용법

적지 않아도 정해집니다

넣은 값을 보고 타입이 정해집니다. 이것을 추론이라고 합니다. 그래서 대부분의 자리에는 타입을 적지 않아도 됩니다.

main.ts
let count = 3;
const title = "보고서";

console.log(count, title);

count = 5;
count = "다섯";
출력
7:1 TS2322 'string' 형식은 'number' 형식에 할당할 수 없습니다.

: number 를 어디에도 적지 않았는데 막혔습니다. = 3 을 보고 number 라고 정해 둔 것입니다.

그러면 언제 적나요. 값을 나중에 넣을 때, 그리고 함수의 매개 변수처럼 넣는 값을 미리 알 수 없을 때 적습니다(2.1). 값을 바로 넣는 자리에 굳이 적으면 같은 말을 두 번 하는 셈입니다.

main.ts
// 값을 나중에 넣을 때는 적어 두어야 합니다.
let total: number;

total = 100;
console.log(total);
출력
100
상세 사용법

const 는 더 좁게 정해집니다

const 는 다시 넣을 수 없으므로, 타입이 그 값 하나로 좁혀집니다. let 은 나중에 바뀔 수 있으니 string 으로 넓게 잡습니다.

const kind = "member";   // 타입은 "member" — 이 글자 하나만
let role = "member";     // 타입은 string — 어떤 글자든

"member" 처럼 값 하나가 그대로 타입이 되는 것을 리터럴 타입이라고 합니다. 1.4 에서 이것을 여럿 묶어 사용합니다.

흔한 실수

처음에 자주 걸리는 것

대문자로 적지 않습니다

Number · String 은 JavaScript 의 생성자이고, 타입으로 적을 것은 소문자 number · string 입니다.

모든 자리에 적을 필요가 없습니다

추론이 되는 자리까지 적으면 코드만 길어지고, 값이 바뀔 때 타입도 함께 고쳐야 합니다. 추론이 안 되는 자리에만 적습니다.

타입은 실행되지 않습니다

: number 를 적었다고 해서 실행 중에 숫자인지 검사해 주는 것이 아닙니다. 밖에서 들어온 값(서버 응답 등)은 typeof 로 직접 확인해야 합니다.

실습 문제

직접 해보기

1. 상품 정보 적기 난이도 하

가격(숫자)과 이름(글자)을 타입을 적어 선언하고, 한 줄로 출력하세요.

let price: number = 1000;
let label: string = "연필";

console.log(`${label} ${price}원`);
2. 추론되는 자리 찾기 난이도 중

위 정답에서 지워도 되는 타입을 지우고, 지우면 안 되는 자리가 어디인지 생각해 보세요.

값을 바로 넣었으므로 둘 다 지워도 됩니다. 지우면 안 되는 자리는 선언만 하고 값을 나중에 넣는 자리입니다 — 그때는 적어 두지 않으면 무엇이든 담기는 값이 됩니다(1.5 any).
요약

이 단원의 정리

  • 타입은 이름 뒤에 : 를 찍고 적습니다.
  • 자주 사용하는 것은 number · string · boolean 이고 모두 소문자입니다.
  • 값을 바로 넣으면 타입이 저절로 정해집니다(추론).
  • const 는 그 값 하나로, let 은 넓게 정해집니다.
  • 값을 나중에 넣는 자리에는 적어 두어야 합니다.