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

Hyobin Kim님의 프로필 이미지

작성한 질문수

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

5. Argument 오브젝트

NaN이 나오는 이유

21.10.01 23:56 작성

·

1.1K

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. 00:20

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