JavaScript | 長整数リテラルで利用可能な演算子

JavaScript JavaScript
スポンサーリンク

主な内容の要点

1. 算術演算子(+、−、×、÷、%、べき乗 **)

  • BigInt(長整数リテラル)に対してこれらの算術演算子は使用可能。
  • ただし、割り算 / の結果は整数になり、小数部は切り捨てられる(例: 7n / 3n2n)。
  • BigInt と通常の数値リテラル(Number 型)との混合演算はできず、型エラーになる(明示的変換が必要)。

2. ビット演算子/シフト演算子

  • ビット演算子(AND &、OR |、XOR ^、NOT ~)は BigInt に対して利用可能。
  • シフト演算子(左シフト <<、符号付き右シフト >>)も使用できる。
  • ただし、符号なし右シフト >>> は BigInt には使えない(型エラーとなる)。
  • また、ビット演算やシフト演算も、BigInt と Number を混ぜて使うことはできない。

3. 等価/不等価演算子(==, !=, ===, !==)

  • BigInt 同士の比較で ===== などは通常通り使える。
  • == は型をまたいで BigInt と Number を比較でき、値が同じなら真(true)となる(例: 54 == 54ntrue)。
  • === は型も比較するため、BigInt と Number を比較すると偽(false)になる(例: 54 === 54nfalse)。

4. 関係演算子(<, <=, >, >=)

  • BigInt に対して <, <=, >, >= を使って大小比較できる。
  • これらの比較演算子は、BigInt と Number を混ぜても比較できる(数値として比較)。

5. インクリメント/デクリメント演算子(++, –)

  • BigInt に対して ++-- が使える。
  • 例:
let num = 15n;

num++;
console.log(num);
>> 16n

--num;
console.log(num);
>> 15n
JavaScript

6. 単項演算子(+、−)

  • 単項マイナス(−) は BigInt に対して使え、符号を反転できる(例: -15n-15n)。
  • 単項プラス(+) は BigInt に対して使えない。BigInt を Number に変換しようとするため、型エラーになる(例: +15n → TypeError)。
タイトルとURLをコピーしました