JavaScript 화살표 및 일반 함수 사례 연구

JavaScript에서 화살표와 일반 ​​함수의 차이점을 알고 있습니다. 하지만 가끔 JavaScript 함수의 실행 결과를 정확하게 예측하기 어려운 상황을 만날 때가 있습니다.
그래서 간단한 테스트 스크립트를 만들어서 자바스크립트 기능에 대해 자세히 설명하고 여기에 소개합니다.
초보자는 here 을 방문하십시오.

const case1 = {
    name: "Case1",
  fnArrow: () => {
    console.log("case1/fnArrow: ", this.name)
  },
  fnRegular: function(){
    console.log("case1/fnRegular: ", this.name)
  },
  fnArrowOutside: () => {
    console.log("case1/fnArrowOutside: ", this.name)
  },
  fnRegularOutside: function(){
    console.log("case1/fnRegularOutside: ", this.name)
  },
}

class Case2 {
    constructor() {
    this.name = "Case2"
  }
  fnArrow = () => {
    console.log("case2/fnArrow: ", this.name)
  }
  fnRegular(){
    console.log("case2/fnRegular: ", this.name)
  }
  fnArrowOutside = () => {
    console.log("case2/fnArrowOutside: ", this.name)
  }
  fnRegularOutside(){
    console.log("case2/fnRegularOutside: ", this.name)
  }
}
const case2 = new Case2()

case1.fnArrow();
case1.fnRegular();
case2.fnArrow();
case2.fnRegular();

setTimeout(case1.fnArrowOutside, 100);
setTimeout(case1.fnRegularOutside, 200);
setTimeout(case2.fnArrowOutside, 300);
setTimeout(case2.fnRegularOutside, 400);


그리고 이것은 실행 결과입니다.

좋은 웹페이지 즐겨찾기