tsの設定でjsのstrictモードを有効にしてない?
functionを呼び出す主体となるオブジェクトを明示してないからthisがundefinedになるのは自然だと思う
strictでなければグローバルオブジェクトを見に行こうとする
アロー関数はthisをレキシカルスコープで束縛するからreturn文を書いた場所のthisが見える