• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

21.05.18 18:41 작성 조회수 168

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

질문자

2021.05.18

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

0

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

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