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 변수로 이름을 바꾼 것입니다. 제대로 타이핑하려면 다음과 같이 타이핑해야 합니다.