JavaScript の BigIn 関数の共通プロパティをまとめます

JavaScript の BigIn 関数の共通プロパティをまとめます

1. 概要

BigInt 、任意の長さの整数をサポートする特殊な数値型です。

bigint作成するには、整数リテラルの後に n を追加するか、文字列や数値などからbigintを生成するBigInt関数を呼び出すという 2 つの方法があります。

定数 bigint = 1234567890123456789012345678901234567890n; 
定数sameBigint = BigInt("1234567890123456789012345678901234567890"); 
const bigintFromNumber = BigInt(10); // 10nと同じ

2. 属性

1. 数学演算子

BigIntほとんどの場合、通常の数値型のように使用できます。

例えば:

アラート(1n + 2n); // 3 
アラート(5n / 2n); // 2 

注意: 5/2 の除算の結果はゼロに向かって丸められ、丸め後の結果には小数部が含まれません。 bigintに対するすべての操作は、同様に bigint である結果を返します。

bigintと通常の数値型を混在させることはできません。

alert(1n + 2); // エラー: BigInt と他の型を混在させることはできません 

必要に応じて、 BigInt()またはNumber(),を使用して明示的に変換する必要があります。

bigint = 1n とします。 
数値を 2 とします。 
// 数値を bigint に変換する 
アラート(bigint + BigInt(数値)); // 3 
// bigint を数値に変換する 
アラート(数値(bigint) + 数値); // 3 

変換は常に実行され、エラーが発生することはありませんが、bigint が大きすぎて数値型に収まらない場合は、余分なビットが切り捨てられるため、このような変換は注意して行う必要があります。

BigInt単項加算をサポートしていません

単項加算演算子 +value は、値を数値型に変換するためのよく知られた方法です。

混乱を避けるため、 bigintでは単項加算はサポートされていません。

bigint = 1n とします。 
alert( +bigint ); // エラー 

bigint数値型に変換するには、 Number()使用する必要があります。

2. 比較演算子

< や > などの比較演算子は、 bigintnumber型を比較す​​る際に問題なく使用できます。

アラート(2n > 1n); // 真 
アラート(2n > 1); // 真 

注: numberbigint異なる型であるため、== と比較すると等しくなりますが、=== と比較すると等しくありません (厳密な等価性)。

アラート(1 == 1n); // 真 
 
アラート( 1 === 1n ); // 偽 

3. ブール演算

if またはその他のブール演算内では、bigint は number のように動作します。

例: if では、bigint 0n は false で、他の値は true です。

もし(0n){   
  // 決して実行されません} 


ブール演算子

たとえば、||、&& などの演算子は、bigint を number と同様の方法で処理します。

alert( 1n || 2 ); // 1 (1n は真とみなされます) 
alert( 0n || 2 ); // 2 (0n は false とみなされます) 

注:この方法では、コードを記述するときにネイティブbigintではなくJSBIを使用することを推奨します。しかし、JSBI は内部的に bigint のようにnumberを使用し、仕様に可能な限り近い形でエミュレートするため、コードはすでにbigintに対応しています。

bigintサポートしていないエンジンの場合、このような JSBI コードは「そのまま」使用できますが、サポートしているエンジンの場合は、ポリフィルによって呼び出しがネイティブ bigint に変換されます。

結論

この記事では、 JavaScript基礎に基づいて、BigInt 関数、共通プロパティ、BigInt 関数による数値演算子の比較について説明します。ブール演算などを事例分析を通じて詳しく説明します。

これで、JavaScript の BigIn 関数の共通プロパティをまとめたこの記事は終了です。JavaScript の BigIn 関数の共通プロパティの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JavaScript の安全な整数制限を超えたデジタル計算のための BigInt の詳細な説明

<<:  非ルートユーザーを使用してDockerコンテナでスクリプト操作を実行する

>>:  HTMLでのフォーム送信の実装

推薦する

自動ヘルスレポートを実現するDocker+Selenium方式

この記事では、ある大学の健康報告システムを例に、Web 側の自動化操作を完成させます。使用したテクノ...

ベンダー プレフィックス: ブラウザ エンジン プレフィックスが必要なのはなぜですか?

ベンダープレフィックスとは何ですか?ベンダー プレフィックス - ブラウザー エンジン プレフィック...

Centos7 環境でバイナリ インストール パッケージから mysql5.6 をインストールする方法の詳細な説明

この記事では、centos7 環境でバイナリ インストール パッケージを使用して mysql5.6 ...

Vueは、商品の数を制御するためのコンポーネントのパッケージ化と使用を実装します。

Vueのコントロール商品数量コンポーネントのカプセル化と使用は参考までに。具体的な内容は以下のとお...

ディスク容量不足による MySQL レプリケーション障害の解決方法

目次ケースシナリオ問題を解決するまとめケースシナリオ本日、オンラインで問題が発見されました。監視範囲...

VUE uni-app でよく使用される API についての簡単な説明

目次1. ルーティングとページジャンプ2. インターフェース要約する1. ルーティングとページジャン...

Windows 10 での MySQL 8.0.22 のインストールと設定方法のグラフィック チュートリアル

MySQL 8.0.22のインストールと設定方法のグラフィックチュートリアル、参考までに、具体的な内...

MySQLにインデックスを追加しても効果がないいくつかの状況について簡単に説明します。

インデックスを追加すると、クエリの効率が向上します。インデックスを追加するということは、ドキュメント...

SQL 面接の質問: 時間差の合計を求める (重複は無視)

ある会社の BI 職の面接を受けたとき、面接で SQL に関する質問がありました。一見すると非常に簡...

WeChatミニプログラムは同時通訳を利用して音声認識を実装します

私は同時通訳音声認識機能を使用して、WeChatアプレットのホームページの音声検索機能を実現しました...

MySQL 変数の原理と応用例

MySQL ドキュメントでは、MySQL 変数はシステム変数とユーザー変数の 2 つのカテゴリに分類...

5分でWebRTCビデオチャットを構築する

前回の記事では、Ubuntu 上の webrtc ベースの多人数ビデオチャット サービスの詳細なコー...

Node.JS で悪天候のリアルタイム警報システムを構築する

目次序文:ステップ1: 無料の天気予報インターフェースを見つけるステップ2: 天気予報インターフェー...

Linuxのseqコマンドを使用して数字のシーケンスを生成します(推奨)

Linux の seq コマンドは、数字のリストを非常に高速に生成でき、使いやすく柔軟性に優れてい...

MySQL 外部キー制約とテーブル関係の概要

目次外部キーテーブルの関係を決定する方法テーブル関係を作成する方法1対多の関係 - 従業員テーブルと...