티스토리 뷰

목차

    반응형

    아래처럼 typescript를 선언할 때 발생하는 에러입니다.


    함수 ({obj1, obj2} : {obj1 : 임의, obj2 : 임의}) {...}




    해결하기 위한 여러가지 방법이 있는데, 몇 가지 소개하겠습니다.


    먼저, 타입스크립트 interface, type 사용하여 actions 액션 인자를 정의하는 방법입니다.


    interface Options {

    test_var: string;
    payload?: BigInt;
    }

    type myType = {
    test_var: string;
    payload: BigInt;
    };

    const actions = {
    TEST({ test_var, payload }: { test_var: string; payload?: BigInteger }) {},

    TEST2({ test_var, payload }: Options) {},

    TEST3({ test_var, payload }: myType) {},

    TEST4(test_obj: { a: string; b?: number }) {
    let { a, b = 1001 } = test_obj;
    },



    const actions를 보면 TEST~TEST4까지 인자를 미리 정의한 인터페이스와 타입으로 typescript 자료형을 정의합니다.


    let 역시 위와 비슷한 방법으로 정의할 수 있습니다.


    let { a: var1, b: var2 } = o;


    let 객체 o를 선언합니다. 그리고 개별 let 변수에 o의 값을 할당합니다.


    let var1 = o.a;
    let var2 = o.b;


    다른 let 객체에도 o를 이용할 수 있습니다.


    let { a, b }: { a: string, b: number } = o;



    예전 타입스크립트 자료 찾아보니 버그라는 글이 봤습니다. 근데, 버그 아닙니다.

    반응형