작성
·
1.2K
0
Argument Object를 한번 써보려고 코드를 하나 짜봤는데
왜 저기서 Number()를 해줘야 결과가 제대로 나오는지 모르겠습니다
처음에는 var sum; 이라고만 했습니다
나중에 숫자 값이 와서 더해질때 자동적으로 인식이 될 거라고 생각했거든요
그런데 결과에서 NaN이 나오더라고요
이게 혹시 처음에 아무것도 지정해 주지 않았을때는 string으로 인식되어서 그런건가요?
function getTotal()
{
var sum = Number();
for(var i = 0; i < arguments.length; i ++)
{
sum += arguments[i];
}
return sum;
}
console.log(getTotal.call(this, 1,2,3));
답변 1
0
저도 같은 경험겪었어서 배우고 있는 입장이지만 댓글남깁니다!
아마 var sum; 과 같이 sum의 초기값을 지정해주지 않고 단순히 변수 선언만 할 경우에는
쓰레기값? 같은게 들어가있어서 NaN 이라고 나오는거 같아요!
var sum=0; 과 같이 초기값을 지정해준다면 제대로 나올거에요..!