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 를 활용하면, 조금 더 개발자의 자유도를 높이면서도 타입 지정은 확실하게 할 수 있다는 점에서 큰 장점이 있습니다!

0개의 댓글