TypeScript에서 배열의 내용 데이터 형식을 지정하는 방법

TypeScript에서 배열의 내용 수와 그 데이터 유형을 지정하고 싶었지만 글을 쓰는 방법이 좋지 않을 때까지 힘들었습니다.

결론


const food: [string, string, string, number] = [
    "吉野家", "牛丼", "並盛", 352
];

수가 많아도 적어도 안 되고, 타입을 잘못하면 물론 에러가 나옵니다.

오류를 발행



형을 바꾸어 본다
const food: [string, string, string, number] = [
    "吉野家", "牛丼", "並盛", "352円"
];

// TS2322: Type 'string' is not assignable to type 'number'.

내용을 줄여 보자
const food: [string, string, string, number] = [
    "吉野家", "牛丼", 352
];

// TS2322: Type '[string, string, string, number]' is not assignable to type '[string, string, number]'.  Source has 3 element(s) but target requires 4.

활용 방법



일반 배열 지정
const food: Array<any> = [
    "吉野家", "牛丼", "並盛", 352
];

이것으로도 지정할 수 있습니다만 혼재하고 있어 엄밀하게 형 지정해 두고 싶은 경우는 불편하네요.
예를 들면 다음과 같은 루프로 사용하는 것을 전제로 한 배열.
const food: Array<[string, string, string, number]> = [
    ["吉野家", "牛丼", "並盛", 352],
    ["松屋", "牛めし", "並盛", 320],
    ["すき家", "とろ〜り3種のチーズ牛丼", "大盛", 630],
];

이러한 엄밀성이 중요한 배열을 정의하고 싶을 때는 매우 의지가 있습니다.

※2021/08/01 시점에서의 규동 정보이므로 시기에 따라서는 가격이 다를 가능성이 있습니다.

교제해 주셔서 감사합니다!
이 기사가 뭔가 힘이 될 수 있으면 기쁩니다.

좋은 웹페이지 즐겨찾기