Archive

Typescript Day 07 - 배열과 튜플

|

Typescript 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]
    }
}


참고 자료


Do it 타입스크립트 프로그래밍

Typescript-Handbook