Infinity의 length는?

OlMinJe·2025년 8월 1일

Web FrontEnd Study

목록 보기
42/44
post-thumbnail

Infinity의 length는?

Infinity.lengthundefined인 이유는 Infinity가 객체가 아니라 원시 값(primitive value)이고, .length라는 속성을 갖고 있지 않기 때문임.

원시 값(primitive value)이란?

  • 자바스크립트에서 가장 기본적인 데이터 타입을 말하며, 더 이상 쪼갤 수 없는 값으로 객체가 아닌 값

📌 Infinity는 무엇인가?

자바스크립트에서 Infinity는 숫자(Number) 타입의 특수한 값(= 원시값)으로, 무한대를 나타냄

typeof Infinity; // "number"

즉, 단순 숫자 값으로length 개념이 적용되지 않음.

📌 Infinitylength 정보가 미친듯이 필요할 때는?

필요하다면 String(Infinity).length처럼 문자열로 바꾼 후 길이를 확인할 수 있다!

📌 실습 결과

console.log('Infinity의 length ==> ', Infinity.length);
// Infinity의 length ==>  undefined
console.log('length 확인 가보자고 ==>', String(Infinity).length);
// length 확인 가보자고 ==> 8

💡 String은 왜 length 프로퍼티를 가지는가

자바스크립트에서 String은 배열(Array) 객체가 아님에도 불구하고,
문자 개수를 확인할 수 있는 length 프로퍼티를 가지고 있다.

이유는 String 객체는 유사 배열 객체이기 때문이다.

유사 배열 객체란?

  • 인덱스로 개별 요소(문자)에 접근 가능하다.
  • length 프로퍼티를 가지고 있어 길이를 알 수 있다.
    하지만 배열 전용 메서드(forEach, map 등)는 사용할 수 없다.
const str = "Hello";

console.log(str[0]);    // "H"
console.log(str.length); // 5

// 배열 메서드는 동작하지 않음
// str.forEach(ch => console.log(ch)); // TypeError
profile
큐트걸

0개의 댓글