Raise error on this expressions with an implied any type.
명시적이지 않게 any 타입을 사용하여, this 표현식에 사용하면, 에러를 발생합니다.
- 첫번째 매개변수 자리에 this 를 놓고, this 에 대한 타입을 어떤 것이라도 표현하지 않으면, noImplicitAny 가 오류를 발생시킨다.
- JavaScript 에서는 매개변수에 this 를 넣으면, 이미 예약된 키워드라 SyntaxError 를 발생시킨다.
- call / apply / bind 와 같이 this 를 대체하여 함수 콜을 하는 용도로도 쓰입니다.
- 그래서 this 를 any 로 명시적으로 지정하는 것은 합리적입니다. (물론 구체적인 사용처가 있는 경우 타입을 표현하기도 합니다.)
- Class 에서는 this 를 사용하면서, noImplicitThis 와 관련한 에러가 나지 않습니다. (당연)
- Class 에서 constructor 를 제외한 멤버 함수의 첫번째 매개변수도 일반 함수와 마찬가지로 this 를 사용할 수 있습니다.