• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

NaN이 나오는 이유

21.10.01 23:56 작성 조회수 877

0

Argument Object를 한번 써보려고 코드를 하나 짜봤는데

왜 저기서 Number()를 해줘야 결과가 제대로 나오는지 모르겠습니다

처음에는 var sum; 이라고만 했습니다

나중에 숫자 값이 와서 더해질때 자동적으로 인식이 될 거라고 생각했거든요

그런데 결과에서 NaN이 나오더라고요

 

이게 혹시 처음에 아무것도 지정해 주지 않았을때는 string으로 인식되어서 그런건가요?

function getTotal()

{

    var sum = Number();

    for(var i = 0i < arguments.lengthi ++)

    {

        sum += arguments[i];

    }

    return sum;

}

console.log(getTotal.call(this1,2,3));

답변 1

답변을 작성해보세요.

0

김서연님의 프로필

김서연

2021.10.10

저도 같은 경험겪었어서 배우고 있는 입장이지만 댓글남깁니다!
아마 var sum; 과 같이 sum의 초기값을 지정해주지 않고 단순히 변수 선언만 할 경우에는
쓰레기값? 같은게 들어가있어서 NaN 이라고 나오는거 같아요!
var sum=0; 과 같이 초기값을 지정해준다면 제대로 나올거에요..!