[JavaScript ES 6+基本]10番号付けオブジェクト



IEEE 754

  • JavaScriptはIEEE 754で定義されています
  • 64ビット浮動小数点処理数字
  • double-precision floating-point format numbers
  • ,264ビット、処理最小値および最大値
  • 整数と実数を区別しない
  • 1を1.0の
  • に処理する.

    64ビット構成


    1)識別ビット
  • 63:1ビット
  • 値が0で正、1で負の
  • を表す.
    2)指数(指数)
  • 52-62:11ビット
  • 3)歌手(点数)
  • 0から51:52ビット+1(正弦波ビット):53ビット

  • Number定数


  • セキュリティ整数
  • 指数(e)で表されない値
  • 2の64勝ではなく、2の53勝
  • Number.MAX_SAFE_INTEGER
  • 安全整数の最大値
  • log(Number.MAX_SAFE_INTEGER);
    log(Math.pow(2, 53) - 1);
    
    // 9007199254740991
    // 9007199254740991
  • Number.MIN_SAFE_INTEGER
  • 安全整数の最小値
  • log(Number.MIN_SAFE_INTEGER);
    log(-(Math.pow(2, 53) - 1));
    
    // -9007199254740991
    // -9007199254740991

    Number.EPSILON

  • Number.EPSILON
  • 非常に小さな値
  • 2^(-52)
  • 使用例
  • 微少値差異形態
  • const total = 0.2 + 0.2;
    log(total);
    log(total === 0.3);
    
    // 0.30000000000000000000004
    // false
  • 微細差を同じ値
  • と見なす.
    const value = Math.abs(0.1 + 0.2 - 0.3);
    log(value < Number.EPSILON);
    
    // true
  • 0/0は、NAN
  • となることを防止することができる.
    log(0 / 0);
    const value = 0 / (0 + Number.EPSILON);
    log(value);
    
    // NaN
    // 0

    真髄

  • バイナリ
  • 0 b 0101,0 b 0101フォーマット、合計
  • 数字0の後はB/B、次いで0または1の後は
  • である.
  • Octal(8進)
  • 0 O 0105形式の
  • 数字0、英語で入力/出力、0から7で
  • を入力します.
  • ES 3頭文字O/O,
  • Number関数


    isNaN()

  • NaN値であるかどうかを確認します.
  • NaN値trueまたはfalseは
  • を返します.
  • NAN検査方法
  • NAN=NAN結果はfalseであるため、
  • は使用できません.
  • isNaN()、グローバルオブジェクト
  • Number.isNaN()
  • Object.is(NaN, NaN): true
  • log(Number.isNaN("ABC"), isNaN("DEF"));
    log(Number.isNaN(NaN), isNaN(NaN));
    log(Number.isNaN(0 / 0), isNaN(0 / 0));
    log(Number.isNaN("100"), isNaN("200"));
    
    // false, true
    // true, true
    // true, true
    // false, false

    isInteger()

  • パラメータ値が整数の場合、trueまたはfalse
  • が返されます.
  • と識別する整数
  • log(Number.isInteger(0));
    log(Number.isInteger(1.0)); // 정수
    log(Number.isInteger(1.01)); // 소수
    
    // true
    // true
    // false
  • は整数
  • ではないと考えられる.
    log(Number.isInteger("12"));
    log(Number.isInteger(true));
    
    // false
    // false

    isSafeInteger()

  • パラメータ値がセキュリティ整数の場合、trueまたはfalse
  • が返されます.
  • -(2の53勝-1)~(2の53勝-1):trueまたはfalse
  • trueと識別される
  • const isSafe = Number.isSafeInteger;
    log(isSafe(7.0));
    log(isSafe(Number.MAX_SAFE_INTEGER));
    log(isSafe(Number.MIN_SAFE_INTEGER));
    
    // true
    // true
    // true
  • false
  • と識別
    const isSafe = Number.isSafeInteger;
    log(isSafe(7.1));
    log(isSafe("100"));
    log(isSafe(NaN));
    log(isSafe(Infinity));
    
    // false
    // false
    // false
    // false

    isFinite()

  • パラメータ値が有限値である場合、trueまたはfalse
  • が返される.
  • グローバルオブジェクトのisFinite()と検出結果が異なる
    const num = Number.isFinite, global = isFinite;
    log(num(100), global(200));
    log(num("70"), global("80"));
    log(num(true), global(true));
    log(num(NaN), global(NaN));
    log(num(undefined), global(undefined));
    
    // true, true
    // false, true
    // flase, true
    // false, false
    // false, false
  • 関数はオブジェクトに属さなければならないので、数値に関連する数値オブジェクトを使用する関数です.グローバルオブジェクトの関数は
  • で、グローバル用途に使用されます.