ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JavaScript] 자바스크립트 Number 객체
    JavaScript 2023. 10. 16. 17:43

    Number 객체

    자바스크립트에서의 실수 표현 : 8byte

     

    1 - 1. 진법표현 : 값 지정

    -자바스크립트에서는 기본적으로 10진법을 사용하여 수를 표현

    -하지만 0x 접두사를 사용하여 16진법으로 수를 표현할 수도 있다.

    var x = 0xAB; // 16진법으로 표현된 10진수 171
    var y = 29;   // 10진법으로 표현된 10진수 29
    x + y; 		  // 두 수 모두 10진법으로 자동으로 변환되어 계산됨

    1 - 2. 진법표현 : toString()

    - 숫자에 toString() 메소드를 사용하여 해당 숫자를 여러 진법의 형태로 변환할 수 있다.

    var num = 256;
    num.toString(2);       //  2진법으로 변환 : 100000000
    num.toString(8);       //  8진법으로 변환 : 400
    num.toString(10);      // 10진법으로 변환 : 256
    num.toString(16);      // 16진법으로 변환 : 100
    
    // 2진수로 변환한 결괏값을 문자열로 반환함.
    num.toString(2);       // 100000000
    
    // 문자열을 숫자로 나눴기 때문에 자동으로 10진수로 변환되어 산술 연산된 결괏값
    (num.toString(2) / 2); // 50000000

    2. Infinity  ( 음의 무한대 : -infinity )

    Infinity 값은 사용자가 임의로 수정할 수 없는 읽기 전용 값

    자바스크립트의 어떤 수보다도 큰 수로 취급됩니다.

    var x = 10 / 0;         // 숫자를 0으로 나누면 Infinity를 반환함.
    var y = Infinity * 1000 // Infinity에 어떠한 수를 산술 연산해도 Infinity를 반환함.
    var z = 1 / Infinity    // Infinity의 역수는 0을 반환함.
    x;                      // Infinity
    y;                      // Infinity
    z;                      // 0

    3. NaN(Not a Number ) : 정의 되지 않는 값이나 표현할 수 없는 값

    NaN(Not A Number)는 숫자가 아니라는 의미로, 정의되지 않은 값이나 표현할 수 없는 값

    0을 0으로 나누거나, 숫자로 변환할 수 없는 피연산자로 산술 연산을 시도하는 경우에 반환되는 읽기 전용 값

    var x = 100 - "10";     // "10"은 자동으로 숫자로 변환되어 계산됨.
    var y = 100 - "문자열"; // "문자열"은 숫자로 변환할 수 없기 때문에 NaN을 반환함.
    var z = 0 / 0;          // 0을 0으로 나눌 수 없기 때문에 NaN을 반환함.
    x;                      // 90
    y;                      // NaN
    z;                      // NaN

    4. Number 객체 (null, undefined, nan, Infinity) 차이

    null : object 타입이며, 아직 '값'이 정해지지 않은 것을 의미

    undefined: null과는 달리 하나의 타입, '타입'이 정해지지 않은 것을 의미

    NaN : number 타입이며 '숫자가 아님'을 의미하는 숫자

    Infinity : number타입이며, '무한대'를 의미하는 숫자

     

    Number 메소드

    개발자를 위해 미리 정의된 내장함수들
    구분 설명
    Number.parseFloat() 문자열에 포함된 숫자 부분을 실수 형태로 반환함.
    Number.parseInt() 문자열에 포함된 숫자 부분을 정수 형태로 반환함.
    Number.isNaN() 전달된 값이 NaN인지 아닌지를 검사함.
    Number.isFinite() 전달된 값이 유한한 수인지 아닌지를 검사함.
    Number.isInteger() 전달된 값이 정수인지 아닌지를 검사함.
    Number.isSafeInteger() 전달된 값이 안전한 정수(safe integer)인지 아닌지를 검사함.

    Number prototype 메소드

    구분 설명
    toFixed() Number 인스턴스의 소수 부분 자릿수를 전달받은 값으로 고정한 후, 그 값을 문자열로 반환함.
    toPrecision() Number 인스턴스의 가수와 소수 부분의 합친 자릿수를 전달받은 값으로 고정한 후그 값을 문자열로 반환함.
    toString() Number 인스턴스의 값을 문자열로 반환함.
    valueOf() Number 인스턴스가 가지고 있는 값을 반환함.

     

Designed by Tistory.