인프런 커뮤니티 질문&답변

sellermax님의 프로필 이미지
sellermax

작성한 질문수

자바스크립트 비기너: 튼튼한 기본 만들기

3. 콜백 함수를 가진 Array 메소드, forEach()

NaN이 뜹니다. 어디서 잘못되었나요?

작성

·

228

0

"use strict";

var list = [12];

var fn = function (elindexall) {
  console.log(el + this.ten + this.eleven);
};

list.forEach(fn, { ten: 10 }, { eleven: 11 });

단지 11을 추가하려고 했을뿐인데 NaN이 나옵니다.. 

var list = [12];

var fn = function (elindexall) {
  console.log(el + this.teneleven);
};

list.forEach(fn, { ten: 10 }, { eleven: 11 });

이렇게 해보아도 안돼서,

forEach는 하나의 this밖에 참조를 못한다고 추론해보았는데 맞을까요?

답변 2

0

sellermax님의 프로필 이미지
sellermax
질문자

선생님이 말씀하신대로 비교해보니까 제가 했던건 eleven이 undefined를 가리켰고 선생님이 주신코드는 정확하게 eleven이 11을 가리켰습니다. 좋은 팁 감사합니다

0

김영보님의 프로필 이미지
김영보
지식공유자

list.forEach(fn, {ten: 10, eleven: 11});

----------------
아래처럼 debugger를 작성하고 정지된 위치에서 this 위에 마우스를 올려 놓으면 this가 참조하는 오브젝트를 알 수 있습니다.
debugger;
console.log(el + this.ten + this.eleven);

sellermax님의 프로필 이미지
sellermax

작성한 질문수

질문하기