TypeScript란 자바스크립트에 타입을 부여한 언어
const getNumber = (i:number): void => {
console.log(i)
}
const arr: string[] = ['a','b','c']
class Music { }
let music: Music = new Music()
let point: { x: number; y: number} = { x: 20, y: 10}
any
알지 못 할 때 사용
union
둘 이상의 데이터 유형 사용
ex) string | number
enum
값들의 집합 / 어려운 숫자 or 언어 대신 친숙한 이름을 사용 (객체와 유사)
(객체와 차이점: 객체는 새로운 속성 자유롭게 추가, 모든 타입 가능 but
enum은 선언 이유 변경 가능, 속성값을 문자열 or 숫자만 가능)
void
데이터가 없는 경우 - 함수가 값을 반환하지 않을 때(return이 없을 때)
타입이 없는 상태, any와 반대의 의미
never
절대 발생하지 않을 값(확신할 때 사용)
ex) 항상 오류를 리턴하거나 리턴 값을 절대로 내보내지 않을 때 (=무한 루프)
typescript에서는 변수를 만들어 값을 할당하면 처음 할당된 값의 형식에 따라 그 변수의 형식이 지정된다. 이를 type annotaion이라 한다.
쉽게 말해 개발자가 타입을 타입스크립트에게 직접 말해주는 것이다.
const rate: number = 5
타입스크립트가 알아서 타입을 추론하는것
const rate = 5
const json = '{"x": 4, "y": 7}'
const coordinates = JSON.parse(json)
console.log(coordinates)
let greeting
greeting = 'hello'
let num =[-7,-2,10]
let numAboveZero: boolean | number = false
for(let i = 0; i<num.length; i++) {
if (num[i] >0 ) {
numAboveZero = num[i]
}
}
참고자료
패스트캠퍼스 - 한 번에 끝내는 프론트엔드 개발 초격차 패키지 Online (강의)
[TypeScript] Type Annotation velog
[TypeScript] Type Annotation tstory