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

Hyobin Kim님의 프로필 이미지
Hyobin Kim

작성한 질문수

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

5. Argument 오브젝트

NaN이 나오는 이유

작성

·

1.2K

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

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

Hyobin Kim님의 프로필 이미지
Hyobin Kim

작성한 질문수

질문하기