arrow 는 implicit this binding 안함
use strict difference
자바스크립트 this 바인딩 우선순위
자바스크립의 컨텍스트(this) 바인딩은 헷갈릴 때가 많다. "이 정도면 이해할수 있겠군" 하다가도, 막상 코딩하다 보면 예상치 못한 상황에 부딪쳐 당황한적이 있지 않은가? 이 글은 자바스크립트 컨텍스트 바인딩을 "우선순위"라는 관점에서 정리했다. 카일 심슨의 글 this와 객체 프로토타입 을 참고했다. 먼저 아래 코드로 시작해 보자. 기본적인 함수 실행이다. hello() 함수를 실행하면 this는 전역객체와 바인딩된다.
https://jeonghwan-kim.github.io/2017/10/22/js-context-binding.html

자바스크립트: function declaration와 Arrow Function의 this 스코프 차이
이번 포스팅은 ES6 JavaScript 대상입니다. 자바스크립트가 ES6로 개정되며 새로 들어온 것 중 Arrow Function이라는 것이 있습니다. () => {} 의 모양을 갖고 있고 동작하는 것도 비슷하게 보입니다. 하지만 기존의 function() {} 함수형태를 1:1로 바로 변환할 수 있는 것은 아닙니다. Arrow Function은 this 바인딩을 갖지 않습니다.
https://beomi.github.io/2017/07/12/understanding_js_scope_function_vs_arrow/

Seonglae Cho