자바스크립트에서 어떤 값을 숫자로 변환하려면 Number() 메서드를 사용하면 됩니다. 이 메서드는 전달받은 값을 숫자 타입으로 강제 변환해 주며, 빈 배열 []도 숫자로 변환할 수 있습니다.
빈 배열이 0으로 변환되는 이유
흥미로운 점은 빈 배열 []을 Number()로 변환하면 결과가 0이라는 것입니다. 그 이유는 자바스크립트의 암묵적 형 변환 규칙 때문입니다. 빈 배열은 먼저 toString()에 의해 빈 문자열 ""로 변환되고, 이 빈 문자열이 다시 숫자로 변환될 때 0이 되기 때문입니다.
예제 코드
아래 코드를 실행하면 빈 배열이 숫자로 변환되는 과정을 직접 확인할 수 있습니다.
<!DOCTYPE html>
<html>
<body>
<p>Convert [] to Number</p>
<script>
var myVal = [];
document.write("Number: " + Number(myVal));
</script>
</body>
</html>실행 결과
Number: 0
참고로 요소가 있는 배열, 예를 들어 [1]은 Number([1])처럼 변환 시 1이 되지만, 두 개 이상의 요소를 가진 배열 [1, 2]는 쉼표가 포함된 문자열 "1,2"로 변환되어 NaN(Not a Number)이 반환됩니다. 따라서 배열을 숫자로 변환할 때는 항상 결과값을 주의 깊게 확인하는 것이 좋습니다.