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 타입과 맞지 않기에 충돌이 발생되는 것이다