나의 개발일지

[TypeScript] Call signatures / { } 와 없음의 차이 본문

TypeScript

[TypeScript] Call signatures / { } 와 없음의 차이

heew0n 2023. 12. 25. 09:54

 

 

function App() {
  // call Signatures
  type Add = (a: number, b: number) => number;
  const add: Add = (a, b) => a + b;

  return <div></div>;
}

export default App;

 

 

 

 

 

 

여기서 { a + b } 를 써주었을 때 왜 오류가 발생하는지에 대해

아리송했는데 밑에 댓글에서 친절하게 설명해주었다

 

 

 type Add = (a: number, b: number) => number;

 


1. const add: Add = ( a, b ) => a + b;

 

       function add = ( a, b ) {

             return ( a + b )

       }

 

 

2. const add: Add = ( a, b ) => { a + b };

 

      function add = ( a, b ) {

           a + b

       }

 

 

 

==>  반환이 되는 게 아니라 함수 내부 로직으로 처리 되어서 반환값이 없는 void 로 나오는 것

          위에 명시해준 Add의 number 타입과 맞지 않기에 충돌이 발생되는 것이다