1) 타입스크립트 개념 및 설정
`타입스크립트 (typescript)` 는 기본적인 문법은 자바스크립트와 비슷하지만,
기존의 자바스크립트와 다르게 타입을 지정하면서 변수/함수를 선언한다는 특징을 가지고 있습니다.
타입을 지정하면,
1. **타입의 차이에 따른 서비스의 오작동 방지**
2. **개발 과정에서의 정확한 코드 작성 (타입에 맞춰서 작성하지 않으면 에러 발생)**
3. **개발자 간에 각 함수/변수의 정확한 목적 전달**
이 가능해진다는 점에서 큰 장점이 있습니다.
type Post = {
title: string;
name: string;
id?: string;
};
const post: Post = {
title: "제목",
name: "이름",
};
Post 객체를 생성할 때 하나라도 입력하지 않으면 에러가 발생하지만, ?를 넣으면 생략이 가능합니다.
interface iPost {
you: "너";
}
interface UserPost extends Post {
author: "작성자"
}
extends 는 기존 Post를 그대로 가져와 추가해 코드를 좀 더 간결하게 만드는 방식입니다.
interface Post {
title: string
body: string
id: number
sayHello: (name: string) => string
}
const post: Post = {
title: '제목',
body: '내용',
id: 1,
sayHello: (name) => {
return name
},
}
만약 객체 안에 함수가 있는 형태라면? 아래와 같이 작성해줄 수 있습니다.
type UserPost = Post & {
author: string;
}
const userPost: UserPost = {
title: '제목',
body: '내용',
author: '작성자'
};
& 를 통해서 두 개의 다른 타입을 합칠 수 있습니다.
function GetInput<T>(userInput: T): T {
return userInput;
}
리턴값의 타입이 여러개라면 로 받을 수 있게 해줍니다.
Generics 를 활용하면, 조금 더 개발자의 자유도를 높이면서도 타입 지정은 확실하게 할 수 있다는 점에서 큰 장점이 있습니다!