한줄로 함수를 만드는 경우 다음과 같이 만든다면 객체를 반환하지 않고 오류 발생한다.
Left side of comma operator is unused and has no side effects.
// Error
const member = (name: string, age: number = 10): {name: string, age: number} => {name, age}
그 이유는 객체가 복합 실행문으로 컴파일러가 해석하기 때문이다.
따라서 객체를 반환시키기 위해서는 '()'를 사용하여 복합 실행문이 아니라는 것을 명시한다.
const member = (name: string, age: number = 10): {name: string, age: number} => ({name, age})
console.log(member("A"));
console.log(member("B", 20));
반응형
'TypeScript' 카테고리의 다른 글
[TypeScript] 제네릭 방식 타입 - T에 관하여 (0) | 2021.06.25 |
---|---|
[TypeScript] for of 문 - 배열의 값으로 반복 (0) | 2021.06.25 |
[TypeScript] for in 문 - 배열의 인덱스값을 반복 (0) | 2021.06.25 |
[TypeScript] 단축 구문(shorthand) - {a:a, b:b} = {a, b} (0) | 2021.06.24 |
[Typescript] 선택적 매개변수 사용 방법 - 매개변수 뒤에 물음표 (0) | 2021.06.23 |