
export const typesNumber = {
"1": "normal",
"2": "fighting",
"3": "flying",
"4": "poison",
"5": "ground",
"6": "rock",
"7": "bug",
"8": "ghost",
"9": "steel",
"10": "fire",
"11": "water",
"12": "grass",
"13": "electric",
"14": "psychic",
"15": "ice",
"16": "dragon",
"17": "dark",
"18": "fairy",
};
const type = typesNumber[typeId.toString()];
다음과 같이 오브젝트를 통해 타입 번호를 어떤 타입인지를 반환하게 만들었을 때, 타입스크립트에서는 파라미터와, 리턴값의 타입이 명확하지 않으므로 에러를 발생하게 하는데, 이때 파라미터와 리턴값의 타입을 정의해줘야 한다.
Record<Key, Value>
키가 Key타입이고 값이 Value 타입인 객체 타입을 생성한다.
따라서
export const typesNumber: Record<string, string> = {
"1": "normal",
"2": "fighting",
"3": "flying",
"4": "poison",
"5": "ground",
"6": "rock",
"7": "bug",
"8": "ghost",
"9": "steel",
"10": "fire",
"11": "water",
"12": "grass",
"13": "electric",
"14": "psychic",
"15": "ice",
"16": "dragon",
"17": "dark",
"18": "fairy",
};
와 같이 Record를 이용하면, 파라미터와 리턴의 타입을 정의해 에러를 방지해 줄 수 있다.