티스토리 뷰

목차

    반응형


    타입스크립트에는 많은 타입이 있습니다. 자바스크립트 콜백 함수 좋아하는 분들에게도 이 글은 도움이 되리라 생각합니다.


    Solution 1 - any

    가장 안 좋은 방법입니다. 변수를 any 유형으로 선언하면 나중에 다른 함수를 할당할 수도 있습니다.


    let a:any;


    a = function ():void{

        console.log("It works");

    }


    Solution 2 - Function

    종종 인터페이스를 디자인할 때 실제 정의 형태를 모를 수 있는데, 키워드 Function을 사용하여 유형(정의 형태)의 형태를 쉽게 확인할 수 있습니다.


    let a:Function;


    a = function ():void{

        console.log("It works");

    }


    any 보단 괜찮죠? 변수 a에 function 이외의 값을 할당하면 컴파일러 오류가 발생합니다.


    Type ‘xxxxx’ is not assignable to type ‘Function’.

    Solution 3 - More specific signature:

    이제 프로젝트를 진행하면서 함수형 변수에 무슨 일이 일어나는지 완벽히 알 수 있습니다. 따라서, 화려한 화살표 함수를 사용합니다. 선언과 정의를 보다 정확하게 수정하고, ECMA2015에서 표준으로 지정한 기법을 사용합니다.


    let a:(para:string)=>string;


    a = function (pass:string):string{

        return pass;

    }


    여기 구문은 매우 간단합니다. Java 또는 C#의 람다 함수와 마찬가지로 화살표 다음의 string은 반환 값 유형입니다. para: string은 매개 변수 유형입니다. a는 string을 반환합니다.


    Solution 4 - Use type

    type을 함수 타입으로 선언하는데 사용할 수 있습니다.


    type read = (name: string) => void;


    const test:read = (value: string) => {

      console.log(value);

    }


    Solution 5 - Interface them all

    타입스크립트입니다. 우리는 interface를 사랑해야 합니다. (헤드퍼스트 디자인 패턴을 읽으면 좋습니다)


    interface read {

      (name: string): string;

    }


    const test:read = (value: string) => value;



    관련 글


    반응형