더북(TheBook)

this의 타입을 어디에 표기해야 할까요? 매개변수의 첫 번째 자리에 표기하면 됩니다. 다른 매개변수들은 한 자리씩 뒤로 밀려납니다. 기억하세요. 타입스크립트에서 매개변수 자리에 존재하는 this는 실제 매개변수가 아닙니다.

다만 this에 타입을 표기했다고 해서 this를 쓸 수 있는 것은 아닙니다. example3 함수처럼 타입스크립트는 thisDocument 타입일 수 없음을 알고 있기에 에러를 표시합니다. 따라서 call 메서드 등을 활용해 this의 값을 명시적으로 document로 지정해주어야 합니다. 그러면 에러가 사라집니다.

메서드에서도 this를 사용할 수 있습니다. 일반적으로는 this가 메서드를 갖고 있는 객체 자신으로 추론되므로 this를 명시적으로 타이핑할 필요가 없습니다. 하지만 this가 바뀔 수 있을 때는 명시적으로 타이핑해야 합니다.

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