타입스크립트(이하 ts
)는 자바스크립트(이하 js
)의 확장 언어이기 때문인지 몇 가지 특이사항을 제외하고는 자바스크립트와 거의 비슷하다.
우선 모든 언어의 문법을 본격적으로 공부하기 전에 타입을 알아봐야 하듯이 타입스크립트의 타입을 한 번 알아보도록 하자.
ts
와 js
가 비슷한 만큼 js
와 똑같은 타입들이 있다.
const myName : string = 'HYUNSANG OH'
const myAge : number = '20'
const isGirl : boolean = true
const studentId : number[] = [1,2,3,4,5]
const studentName : Array<string> = ['Joo','Park','Oh']
const myClass : {firstStu : string, secondStu : string} = {
firstStu : 'OH',
secondStu : 'SEAN'
}
const a : undefined = undefined
const b : null = null
여기까지가 js
와 ts
가 공통적으로 가지고 있는 타입이고 이 이후부터는 ts
만이 가지고 있는 타입에 대해서 알아보려고 한다.
위에서 객체 부분에서 선언한 객체로 묶어진 타입 같이 자주 사용될 타입 묶음들의 경우 변수에 저장해서 반복적으로 사용 할 수 있다. 이러한 타입을 Alias 타입이라고 하며 사용할 경우 반복되는 부분에서 만큼은 가독성이 높아지는 효과가 있다.
type developer = { name : string, type : string, experience : number}
const wecodeMentor : developer = {
name : "HOJUN",
type : "Backend",
experience : 1
}
배열과 비슷하지만 조금 더 구체적으로 안의 요소 하나 하나에 타입을 지정해 줄 수 있다.
const book : [string, string, number] = ['진화론','사회과학',399]
타입을 직접적으로 설정해 주기 까지는 미정
let x : unknown;
if(typeof x == 'number'){
let y = x + 1;
}
if(typeof x == 'string'){
let z = x.toUpperCase();
}
변수에는 undefined
와 null
만 할당하고, 함수에는 반환 값을 설정 할 수 없는 타입
function hello():void{
console.log('?');
}
함수의 끝에 절대 도달하지 않는다는 의미를 지닌 타입
function neverland() : never {
while(true) {
}
}
여기 까지가 ts
의 기본 타입들이고 앞으로 제대로 ts
로 놀아보자~!