Typescript Day 07 - 배열과 튜플
02 Jun 2021 | TypescriptTypescript Day 07 - 배열과 튜플
배열
타입스크립트에서 배열의 타입은 타입[]
이다
let stringArr: string[] = ['1','2','3'];
let numberArr: number[] = [1,2,3];
type IPerson = { name: string, age?: number };
let personArr: IPerson[] = [{name: 'jack'},{name:: 'jane', age: 32}];
문자열과 배열 간 변환
문자열 => 배열 변환 시 split의 사용법
const split = (str: string, delim: string = ''): string[] => str.split(delim);
console.log(split('hello')); // ['h','e','l','l','o']
console.log(split('h-e-l-l-o', '-')); // ['h','e','l','l','o']
배열 => 문자열 변환 시 join의 사용법
const join = (arr: string[], delim: string = ''): string => arr.join(delim);
console.log(join(['h','e','l','l','o'])); // hello
console.log(join(['h','e','l','l','o'], '-')); // h-e-l-l-o
제네릭 방식 타입
배열을 다룰 때에는 string[]
처럼 타입이 고정된 배열보다는 타입의 변수인 제네릭 타입을 사용하는 것이 편리하다.
const arrLength = <T>(array: T[]): number => array.length;
let numArray: number[] = [1,2,3];
let strArray: string[] = ['1','2','3'];
console.log(arrLength(numArray)); // 3
console.log(arrLength(strArray)); // 3
튜플
튜플 타입으로 요소의 타입과 개수가 고정된 배열을 만들 수 있다.
let tuple:[string, number] = ['123', 123];
tuple = [123, '123']; // 오류
튜플 사용법 예시
type ResultType = [boolean, string];
const do = (): ResultType => {
try {
//...
} catch(err) {
return [false, err.message]
}
}