Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트에서 빈 배열 [ ]을 숫자로 변환하는 방법

자바스크립트에서 어떤 값을 숫자로 변환하려면 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)이 반환됩니다. 따라서 배열을 숫자로 변환할 때는 항상 결과값을 주의 깊게 확인하는 것이 좋습니다.