fake parameter / typescript this parameter / function as a parameter /
typescript 에서 함수정의의 첫번째 parameter 로 this
를 갖는 경우
결론부터 이야기 하면 이 경우 this
는 실제로 compile 후에는 js code 에서 사라진다. 이것은 type checking 을 위해 넣을 수 있게 해 놓은 것이다.
그래서 type checking 용의 this
는 첫번째 parameter 로만 가능하다.
이 구현에 대한 자세한 이야기는 ref.1 에서 찾을 수 있다.
실제로 this
를 pass 하는 경우
실제로 this 를 함수의 parameter 로 넘기려 하는 경우라면, 굳이 함수정의에 this
라는 이름을 사용할 필요가 없다.
function test(this:void, a:string){
console.log(a);
}
test('test');
function test2(that:any, a:string){
console.log(that)
console.log(a);
}
test('test');
this:void
함수내부에서 this.something()
등을 사용하지 못하게 하는 용도로 사용할 수 있다. this가 void type 이기 때문에 아무런 member 를 갖지 않기 때문이다.
댓글 없음:
댓글 쓰기