TIL 56 | Number1

YB.J·2021년 7월 30일
0
post-thumbnail

모던자바스크립트 Deep Dive를 공부하며 알게된 Number에 대해 정리해보자

Number, 숫자인가 객체인가❓


표준 빌트인 객체, Number

표준 빌트인 객체란 ECMAScript 사양에 정의된 객체를 말한다. JS는 Object, String, Number, Boolean, Symbol, Date, function, JSON, RegExp 등 40여 개의 표준 빌트인 객체를 제공한다. 표준 빌트인 객체인 Number는 프로퍼티와 메서드를 가질 수 있다.

Number, 숫자 또는 객체 ❗

  • Numbers는 숫자 또는 객체가 될 수 있다
  • let x = 123; 변수 x에 할당된 원시 값 123은 숫자이다
  • let y = new Number(123); new 연산자로 호출하여 생성된 객체
    console.log(y); // {123}

객체 Number


✨ Number 생성자함수

  • 표준 빌트인 객체인 Number 객체는 생성자 함수 객체다. 따라서 new 연산자와 함께 호출하여 Number 인스턴스를 생성할 수 있다.
  • 생성해보자
const numObj = new Number();
console.log(numObj); // Number {0}


const num2 = new Number(12);
console.log(num2) // Number {12}

const num3 = new Number('10');
console.log(num3) // Number {10}

const str = new Number('Hello');
console.log(str); // Number {NaN}

✨ Number 프로퍼티

Number의 프로퍼티는 하나의 값으로 표현된다. 이것 Number 메서드와의 차이점이다.

  • Number.EPSILON
    Number.EPSILON은 1과 1보다 큰 숫자 중에서 가장 작은 숫자와의 차이와 같다.
    Number.EPSILON; // 2.220446049250313e-16(지수표현)
    Number.EPSILON; // 2.220446049250313080847233361816 X 10의 -16승

  • Number.MAX_VALUE
    Number.MAX_VALUE는 자바스크립트에서 표현할 수 있는 가장 큰 양수값이다.
    Number.MAX_VALUE보다 큰 숫자는 Infinity다.
    Number.MAX_VALUE; // 1.7976931348623157e+308

  • Number.MIN_VALUE
    Number.MIN_VALUE는 자바스크립트에서 표현할 수 있는 가장 작은 양수값이다.
    Number.MIN_VALUE보다 작은 숫자는 0이다.
    Number.MIN_VALUE; // 5e-324

  • Number.MAX_SAFE_INTEGER
    Number.MAX_SAFE_INTEGER는 자바스크립트에서 안전하게 표현할 수 있는 가장 큰 정수값이다.
    Number.MAX_SAFE_INTEGER; // 9007199254740991

  • Number.MIN_SAFE_INTEGER
    Number.MIN_SAFE_INTEGER는 자바스크립트에서 안전하게 표현할 수 있는 가장 작은 정수값이다.
    Number.MIN_SAFE_INTEGER; // -9007199254740991

  • Number.POSITIVE_INFINITY
    Number.POSITIVE_INFINITY는 양의 무한대를 나타내는 숫자값 infinity와 같다.
    Number.POSITIVE_INFINITY; // Infinity

  • Number.NEGATIVE_INFINITY
    Number.NEGATIVE_INFINITY는 음의 무한대를 나타내는 숫자값 infinity와 같다.
    Number.NEGATIVE_INFINITY; // -Infinity

  • Number.NaN
    Number.NaN은 숫자가 아님을 나타내는 숫자 값이다.
    Number.NaN; // NaN

profile
♪(^∇^*) 워-후!!(^∀^*)ノシ

0개의 댓글