TIL #50 | Typescript - 시그니처

kibi·2023년 12월 26일
1

TIL (Today I Learned)

목록 보기
50/83

시그니처

호출 시그니처

호출 시그니처 생성
타입을 재사용하기 위해 호출 시그니처를 생성하여 사용할 수 있다.

// 호출 시그니처 생성
interface getLikeNumber {
	// 매개변수와 
	(like: number): number;
}

interface Post {
	id: number;
	title: string;
	getLikeNumber: getLikeNumber
}

const Post1: Post = {
	id: 1,
	title: 'post 1',
	getLikeNumber(like: number) {
		return like;
	}
}

post1.getLikeNumber(1)

인덱스 시그니처

속성의 모든 이름을 미리 알지 못하지만 값의 형태는 알고 있을 때 인덱스 시그니처를 사용하여 가능한 값의 Type을 지정할 수 있다.

interface Post {
	[key: string]: unknown // 어떤 데이터가 올지 모르기 때문에 unknown으로 지정
	id: number;
	title: string;
}

post1['content'] = 'study'
post1['pages'] = 300
// 배열 인덱스 시그니처
interface Names {
	[item: number]: string;
}

const userNames: Names = ['Kim', 'Joe']

0개의 댓글