LHJ

I'm a FE developer.

8-2. Number 오브젝트 / Number 타입으로 변환, Number 상수

22 Nov 2020 » js_beginner

45. Number 타입으로 변환, Number 상수

Number()

구분데이터(값)
파라미터변환할 값opt
반환변환한 값

  • 파라미터 값을 Number 타입으로 변환
  • 파라미터 값이 String 타입이라도 값이 숫자이면 변환 가능

      console.log(Number("123") + 500); // 623
      console.log(Number("ABC")); // NaN
    
    1. “123”이 String 타입이지만 값이 숫자이므로 숫자로 변환합니다.
    2. Number 타입이 되므로 500을 더하면 값이 연결되지 않고(123500) 더해집니다.(623)
    3. Number 타입으로 변환할 수 없으면 NaN 반환
      여기서 두 가지 관점이 있습니다.
      변환을 했는데 그 값이 NaN 인지, 아니면 변환을 하려고 했는데 파라미터 값이 NaN 이라는 건지..
      여기선 후자입니다.
  • 숫자로 변환할 수 있으면 변환

      console.log(Number(0x14)); // 20
      console.log(Number(true)); // 1
      console.log(Number(null)); // 0
      console.log(Number(undefined)); // NaN
    
    1. 16진수를 10진수로 변환 (0x 는 16진수를 뜻합니다. 0x14 => 1x16 + 4 = 20)
    2. true 는 1로, false 는 0으로 변환됩니다.
    3. null 은 0으로 변환
    4. undefined 는 NaN 로 변환
  • 파라미터 값을 작성하지 않으면 0을 반환

Number 상수

상수 이름
Number.MAX_VALUE1.7976931348623157e+308 (1.7976931348623157 * 10(308승))
Number.MIN_VALUE5e-324 (5 * 10(-324승))
Number.NaNNot-a-Number
Number.POSITIVE_INFINITYInfinity
Number.NEGATIVE_INFINITY-Infinity

  • 상수는 값을 변경, 삭제할 수 없음
  • 영문 대문자 사용이 관례
  • Number.MAX_VALUE 형태로 값 사용
    상수는 이렇게 빌트인 오브젝트 Number 를 바로 작성해서 사용합니다.
    Number.~~