더북(TheBook)

example3 함수에서 튜플 타입을 전개했습니다. example3 함수에 마우스오버해보면 매개변수의 자리가 세 개인 것을 확인할 수 있습니다. 각 매개변수의 이름은 임의로 정해집니다. 만약 이름을 직접 정하고 싶다면 example4처럼 각 자리에 이름을 붙이면 됩니다.

매개변수에 구조분해 할당을 적용할 때는 타이핑이 헷갈릴 수 있으니 조심해야 합니다.

function destructuring({ prop: { nested } }) {}
// Binding element 'nested' implicitly has an 'any' type.
destructuring({ prop: { nested: 'hi' }});

앞 코드에서는 implicitAny 에러가 발생하므로 타이핑해야 합니다. 그러나 다음과 같이 잘못 타이핑하기 쉽습니다.

function destructuring({ prop: { nested: string } }) {}
// Binding element 'string' implicitly has an 'any' type.
destructuring({ prop: { nested: 'hi' }});

이 문법은 nested 속성을 string 타입으로 표기한 것이 아니라 nested 속성을 string 변수로 이름을 바꾼 것입니다. 제대로 타이핑하려면 다음과 같이 타이핑해야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.