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

推薦する

ウェブタイポグラフィにおける致命的な意味的ミス 10 選

<br />これは、Steven D が書いた Web フロントエンド開発デザインの基本...

jQueryカルーセル機能を実装する方法

この記事では、jQueryカルーセル機能の実装コードを参考までに共有します。具体的な内容は次のとおり...

MySQL 最適化戦略 (推奨)

要約すれば: 1. データベースの設計とテーブルの作成時にパフォーマンスを考慮する2. SQLの記述...

Vue.js プロジェクトの開始方法

目次1. Node.jsとVue 2. ローカル開発環境でフロントエンドのVueプロジェクトを実行す...

CentOS での Django プロジェクトのデプロイに関する詳細なチュートリアル

基本環境パゴダ設置サービスパゴダにインストールされた[Pythonプロジェクトマネージャー]パゴダに...

Spring Boot + jar パッケージングのデプロイメント Tomcat 404 エラーの問題を解決する

1. Spring Boot は jsp jar パッケージをサポートしていません。jsp は wa...

Windows Server 2016 に Oracle をインストールする方法

1. Oracle をインストールします。インターネット上には Oracle のインストール手順が多...

MySQL数千万の大規模データに対する30のSQLクエリ最適化テクニックの詳細な説明

1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...

MySQL innodb例外の修復に関する経験の共有

テスト用の MySQL ライブラリのセット。以前使用されていたバージョンは、centos6 のデフォ...

CocosCreator クラシック エントリー プロジェクト flappybird

目次開発環境ゲームエンジンのコンセプトCocos Creatorについてプロジェクト構造コード編集環...

vue3.0プロジェクトアーキテクチャを段階的に構築する方法を教えます

目次序文: 1. vue-cliでプロジェクトを作成する2. ルーターをインストールする3. ディレ...

Reactイベントメカニズムソースコード分析

目次原理ソースコード分析委任されたイベントバインディングすべてのサポートされているイベントを聴くネイ...

Docker コンテナのデプロイの試み - マルチコンテナ通信 (node+mongoDB+nginx)

その理由はモッカー プラットフォームを導入したかったので、友人の勧めで既成のプロジェクト api-m...

CSS3 における構造擬似クラスセレクターと擬似要素セレクターの使い方の詳細な説明

構造擬似クラスセレクタの紹介構造擬似クラスセレクターは、いくつかの特殊効果を処理するために使用されま...

正の整数かどうかを判断するMYSQLカスタム関数の例コード

関数を記述できます。主に正規表現を使用して判断を行います。入力文字が空の場合は、「-」を使用して置き...