• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

passNum: () => {

20.01.09 11:55 작성 조회수 110

1

위 제목처럼 passNum: function() {} 이 아닌
es6  arrow functions 를 사용하면 

vue.js:1897 TypeError: this.$emit is not a function

에러가 나오는데 왜 그런지 알려주시면 감사하겠습니다

답변 1

답변을 작성해보세요.

0

안녕하세요 m_crew님, 좋은 질문입니다. ES6 화살표 함수의 this 바인딩 변화에 대해서 여쭤보셨는데요. 이 내용은 글로 설명드리기에는 한계가 있어 간단히 답변 드린 후 참고하실 만한 자료 안내해드리겠습니다.

ES6의 화살표 함수의 특징은 함수 안의 this 바인딩을 실행하는 시점의 실행 컨텍스트로 변화시켜줍니다. 아마 this 키워드나 실행 컨텍스트가 뭔지 모르신다면 이해하기가 쉽지 않을 것 같아요. 아래 링크들을 참고해보시면 좋을 것 같습니다.

자바스크립트 동작 원리

ES6 Arrow Function MDN

참고로 ES6 문법은 중급 강좌부터 자세히 다루고 있습니다 :) 수강해주셔서 감사합니다!