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でのフォーム送信の実装

推薦する

Vue+ElementUI Treeの使い方

Vue+ElementUI Treeの使い方は参考までに。具体的な内容は以下のとおりです。 フロント...

CSS スティッキーフッター実装コード

この記事では、CSS スティッキー フッターの実装コードを紹介し、共有します。詳細は次のとおりです。...

Unicode 署名 BOM の詳細な説明

Unicode 署名 BOM - BOM とは何ですか? BOM は Byte Order Mark...

HTMLページ作成に関する私の経験の簡単な要約

Word of Mouth に入社して 3 ~ 4 か月が経ちました。仕事の中で一番の収穫は、ビジュ...

MySQL における USING と HAVING の使用法の簡単な分析

この記事では、例を使用して MySQL での USING と HAVING の使用方法を説明します。...

MySQLのロック機構の詳細な説明

序文データの一貫性と整合性を確保するために、あらゆるデータベースにはロック メカニズムが備わっていま...

Windows 64 ビット版 MySQL 5.7 以降の解凍パッケージにデータディレクトリと my-default.ini がなく、サービスが起動できない問題の簡単な解決方法 (問題概要)

私は SQL の初心者で、オープンソースのインストールは非常に簡単だと思っていましたが、その過程でい...

mysql エラー 1045 (28000) - ユーザーへのアクセスが拒否される問題を解決する方法

問題の説明 (以下の説明は Windows 環境に限定されます): D:\develop\ide\m...

血の写輪眼と輪廻眼の特殊効果コードを実現するためのHTML+CSS

結果 (完全なコードは下部にあります): 実装は難しくありませんが、繰り返しコードが多くなります。実...

JavaScript の矢印関数と通常の関数の違いの詳細な説明

この記事では、JavaScriptにおけるアロー関数と通常の関数の違いについて解説します。具体的な内...

mysqlは時間を自動的に追加し、時間を自動的に追加および更新する操作を実装します

時間フィールドは、データベースの使用時によく使用されます。よく使われるのは作成時間と更新時間です。し...

MySQL InnoDBセカンダリインデックスのソート例の詳細な説明

ソート問題最近、Geek Time の「45 Lectures on MySQL Practice」...

Docker Compose を使用して Confluence を構築するチュートリアル

この記事は「Attribution 4.0 International (CC BY 4.0)」ライ...

Windows で MySQL 5.7.17 圧縮バージョンをインストールするときに遭遇する落とし穴

まず、Windows 64 ビット用の最新の MySQL 5.7.17 コミュニティ圧縮バージョンを...

HTML タグ tbody の使い方と説明

tbody 要素は、thead 要素および tfoot 要素と組み合わせて使用​​する必要があります...