職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

長整数リテラル

2023年10月31日 | JavaScript
長整数リテラル


【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、
クロム

【長整数リテラルとは】
長整数リテラル→プログラムの中で長整数の値を記述するときに使われる。

・書式
let num = 854n;

数値の場合と同じように 10 進数以外に 16 進数、 8 進数、 2 進数で記述することができます。
let num1 = 0xB6n; // 16 進数では先頭に 0x を付ける
let num2 = 0o266n; // 8 進数では先頭に 0o を付ける
let num3 = 0b10110110n; // 2 進数では先頭に 0b を付ける

let num1 = 0xB6n;
console.log(num1);
182n

・小数点を持つ値を記述すると、エラーが出る
let num = 7.34n;
console.log(num);
VM882:1 Uncaught SyntaxError: Invalid or unexpected token

・BigInt オブジェクトのコンストラクタを使って
let num = BigInt(1024);
console.log(num);
1024n

【長整数で表すことができる整数】
数値リテラルで安全に表すことができる最大の数値は 253-1 (=9007199254740991) でこの値は Number.MAX_SAFE_INTEGER として定義され、この数値を超える値に対して演算を行うと、誤った結果が出される。それに対して長整数リテラルは任意の精度で数値を扱うことができる

サンプル
let num = 9007199254740991n;
console.log(num);
VM223:2 9007199254740991n
undefined
console.log(num + 1n);
VM227:1 9007199254740992n
undefined
console.log(num + 2n);
VM231:1 9007199254740993n
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

値が整数かどうかを調べる

2023年10月11日 | JavaScript
値が整数かどうかを調べるには


【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、
Edge

【Number.isInteger メソッド】
対象の値が整数かどうかを調べて true または false を返します

・書式
Number.isInteger(値)

サンプル
Number.isInteger(428);
true

Number.isInteger(16.5);
false

Number.isInteger(16.0);
true

Number.isInteger(NaN);
false

整数については true 、 浮動小数点数については false 、 NaN や Infinity も false となります。

値が数値型でない場合はすべて false となります。
Number.isInteger('78');
false

Number.isInteger(true);
false

Number.isInteger(undefined);
false

Number.isInteger([10]);
false

【安全な整数がどうかを調べる】
Number.isSafeInteger メソッドは、対象の値が安全な整数かどうかを調べて true または false を返します
・書式
Number.isSafeInteger(値)
安全な整数とは難しい言葉になりますが正確に IEEE-754 倍精度数として表すことができ、別の値を IEEE-754 倍精度数として表した値と一致することがない値です

サンプル
Number.isSafeInteger(87462);
true

Number.isSafeInteger(-665212234);
false

Number.isSafeInteger(Math.pow(2, 53) - 1);
true

Number.isSafeInteger(Math.pow(2, 53));
false

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

静的メソッド--Number.isFinite

2023年10月11日 | JavaScript
Number.isFinite


【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、
Edge

【Number.isFinite メソッドとは】
対象の値が有限かつデータ型が数値型かどうかを調べて true または false を返します。

・書式
Number.isFinite(値)

引数に指定した値が有限の値かどうかを調べます。値が NaN 、正の無限大( Infinity )、負の無限大( -Infinity )であれば false 、それ以外は true を返します。値が数値型ではない場合はすべて false となります。

サンプル
Number.isFinite(Infinity);
false

Number.isFinite(-Infinity);
false

Number.isFinite(NaN);
false

【isFinite関数とNumber.isFiniteメソッドの違い】
グローバル関数の isFinite 関数
→isFinite 関数が引数が数値型でなかった場合に数値型に変換してから有限かどうか判定する。
Number.isFinite メソッド
→引数が数値型でなかった場合はすべて false とする

サンプル
isFinite(128);
true
Number.isFinite(128);
true

isFinite(Infinity);
false
Number.isFinite(Infinity);
false

isFinite('78');
true
Number.isFinite('78');
false

isFinite('');
true
Number.isFinite('');
false

isFinite(true);
true
Number.isFinite(true);
false

isFinite(null);
true
Number.isFinite(null);
false

isFinite([10]);
true
Number.isFinite([10]);
false
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

静的メソッド-- Number.isNaN

2023年10月09日 | JavaScript
静的メソッド Number.isNaN


【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、
Edge

【 Number.isNaNとは】
このメソッドは、対象の値が NaN かつデータ型が数値型かどうかを調べて true または false を返します

・書式
Number.isNaN(値)

引数に指定した値が NaN で、かつ数値型かどうかを調べます。値が数値型ではない場合はすべて false となります。
※NaN は特殊な値で、等価演算子である == や === で NaN 自身と等しいかどうか調べても false となるため等価演算子で NaN かどうかを調べることはできません。

サンプル
console.log(NaN == NaN);
false

console.log(NaN === NaN);
false

Number.isNaN(NaN);
true

Number.isNaN(0 / 0);
true

次の値は数値型に変換すると NaN となりますが、 Number オブジェクトの Number.isNaN メソッドでは対象の値を数値型には変換しません。数値型以外の値はすべて false となります。
Number.isNaN('Hello'); // 数値に変換すると NaN
false

Number.isNaN(undefined); // 数値に変換すると NaN
false

Number.isNaN({a:'10'}); // 数値に変換すると NaN
false

【isNaN関数とNumber.isNaNメソッドの違い(isNaN)】
グローバル関数の isNaN 関数と、 Number オブジェクトの Number.isNaN メソッドはどちらも対象の値が NaN かどうかを調べるのに使いますが、 isNaN 関数が引数が数値型でなかった場合に数値型に変換してから NaN かどうか判定するのに対して、 Number.isNaN メソッドは引数が数値型でなかった場合はすべて false とする点が異なります。

サンプル
isNaN(NaN);
true
Number.isNaN(NaN);
true

isNaN(0 / 0);
true
Number.isNaN(0 / 0);
true

isNaN('Hello');
true
Number.isNaN('Hello');
false

isNaN(undefined);
true
Number.isNaN(undefined);
false

isNaN({a:'10'});
true
Number.isNaN({a:'10'});
false
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

静的メソッド-- Number.parseFloat

2023年10月07日 | JavaScript
Number.parseFloat


【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、
Edge

【parseFloatとは】
文字列を浮動小数点数に変換した値を返します。
・書式
Number.parseFloat(文字列 [, 基数])

引数に指定した文字列を浮動小数点数に変換します。
引数が文字列でない場合→文字列に変換したあとで浮動小数点数に変換されます

文字列の浮動小数点数への変換は次のように行われます
1)文字列の先頭にある空白を取り除きます
2)先頭に '+' または '-' がある場合は符号として扱います
3)数値でない文字が現れる直前までの文字列を浮動小数点数に変換します

Number.parseFloat("42.25");
42.25

Number.parseFloat(' -1.75per');
-1.75

Number.parseFloat('3.11e4');
31100

Number.parseFloat('Since1901');
NaN
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする