👶 TypeScript
this의 타입
this의 타입 this의 값은 함수를 어떻게 호출했는지에 따라 달라지는데 이는 JAvaScript 코드를 이해하기 어렵게 만드는 고질적인 문제 중 하나입니다. (따라서 많은 개발팀에선 클래스 메서드를 제외한 다른 모든 곳에서 this 사용을 금한다고 합니다.) this가 자주 문제를 일으키는 원인은 할당 방법에 있습니다. 메서드를 호출할 때 this는 점 왼쪽의 값을 갖는다는 것이 일반적인 원칙입니다. let x = { a() { return this } } x.a() // a()의 바디 안에서 this는 객체 x 하지만 호출이 일어나기 전 어느 시점에서 a를 다시 할당하면 결과가 달라집니다. let a = x.a a() // 이제 a의 바디 안에서 this는 정의되지 않은 상태 아래처럼 날짜의 타입을..