이 함수는 person과 result 변수를 선언할 때 const라고 하는 최신 자바스크립트 문법을 사용했을 뿐만 아니라 ...으로 표기되는 스프레드 오퍼레이터(spread operator) 문법도 포함하고 있습니다. 최신 자바스크립트 문법이 낯설다면 이런 새로운 문법마저도 코드를 읽는 데 방해됩니다. 이렇게 함수 안의 로직을 단번에 파악하기 어려울 때는 함수 로직들을 일일이 쫓아 결과가 어떻게 나올지 예측해야 합니다. 코드가 길어지면 길어질수록 함수 결과를 예측하기가 더 어렵고 복잡하겠죠.
다시 돌아가 보겠습니다. fetchUser() 함수의 내부 로직을 몰라도 user 변수의 값을 알 수 있다면 어떨까요? 다음과 같이 말이죠.
▲ 그림 1-3 user 변수의 예상 결과 값
이제는 fetchUser()라는 함수 내용이 무엇이든 user 변수에 name과 age 속성을 가진 객체가 담긴다는 것을 알 수 있습니다. 코드의 역할을 더 풍부하게 하는 힘, 그것이 바로 타입스크립트의 장점 중 하나입니다.