호출 방식에 따라 변경
객체 메서드, 단독 호출, bind 호출에 따라 this 값이 달라질 수 있습니다.
function run()
화살표 함수는 자신만의 this를 만들지 않고 바깥 this를 사용하므로 메서드, 콜백, 클래스 필드에서 의미가 달라집니다.
객체 메서드, 단독 호출, bind 호출에 따라 this 값이 달라질 수 있습니다.
function run()
콜백으로 전달해도 바깥 스코프의 this를 유지하는 특징이 있습니다.
() => this.name
일반 함수의 첫 매개변수 자리에 this 타입을 적어 잘못된 호출을 막습니다.
function f(this: User)
이벤트 핸들러처럼 메서드를 넘길 때 this 손실을 줄일 수 있습니다.
handle = () => {}
this 문제는 문법 취향이 아니라 함수가 어디서 호출될지와 어떤 this를 기대하는지의 문제입니다.