"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Arrow 함수 대 ES6의 메소드 선언 : 왜 '이' ''가 화살표 함수에서 예상대로 작동하지 않는 이유는 무엇입니까?

Arrow 함수 대 ES6의 메소드 선언 : 왜 '이' ''가 화살표 함수에서 예상대로 작동하지 않는 이유는 무엇입니까?

2025-03-23에 게시되었습니다
검색:347

Arrow Functions vs. Method Declarations in ES6: Why Doesn't `this` Work as Expected in Arrow Functions?

의도는 기능이 사람 객체 내에서 이름 속성에 액세스하도록하는 것입니다. 그러나 콘솔은 "내 이름은" "내 이름입니다." 화살표 기능은 기존 기능 선언과 달리이 키워드를 바인딩하지 않습니다. 대신, 그들은 주변 범위 에서이 구속력을 상속합니다.이 경우 글로벌 범위입니다.

솔루션 :

var person = {
  name: "jason",

  shout: () => console.log("my name is ", this.name)
};

person.shout(); // Prints "my name is "

var perent를 보존 할 수 있습니다. 이름 : "Jason", 외침 () { Console.log ( "내 이름은", this.name); } }; person.shout (); // "내 이름은 Jason" 인쇄합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3