あまり使用されないプリミティブ bigint とシンボルの紹介

JavaScript は、数値、文字列、ブール値、配列などのさまざまなデータ型をサポートする動的型付け言語です。これらの基本的なデータ型に加えて、JavaScript では BigInt や Symbol など、あまり使用されないプリミティブ型も提供します。この技術ブログでは、BigInt と Symbol の具体的な使い方と利点を紹介します。

BigInt

BigInt は任意精度の整数を表し、Number 型で表現できる最大整数値を超える値を扱うことができます。BigInt は ES2020 から導入され、数値リテラルまたは BigInt() コンストラクターを使用して作成できます。

以下は BigInt の作成と操作の例です。

let bigNum = 123456789012345678901234567890n;
console.log(bigNum); // 输出:123456789012345678901234567890n

let a = 198273479238471289432n;
let b = 342139048901234n;
console.log(a + b); // 输出:198273479238471631666n

BigInt 型の変数は、BigInt の型を表す文字「n」で終わる必要があることがわかります。演算では、BigInt は他の BigInt 型の値を使用して加算、減算、乗算、除算、剰余などの演算を実行できますが、「+」演算子を使用して文字列型を接続することはできません。

シンボル

シンボルは、値が一意で不変である新しいデータ型です。Symbol は ES2015 以降に導入されており、Symbol() コンストラクターまたは Symbol.for() 静的メソッドを使用して作成できます。

次の例に示すように、シンボルは主にオブジェクト属性名の一意性を識別するために使用されます。

const id = Symbol('id');
let user = {
  name: 'Tom',
  [id]: '001'
};

console.log(user[name]); // 输出:Tom
console.log(user[id]); // 输出:001

Symbol 型のプロパティ名を通じて、オブジェクト内のさまざまなプロパティの一意性を簡単に識別できることがわかります。実際には、プロパティ名の競合を避けるためにライブラリやフレームワークでよく使用されます。

同時に、Symbol 型には、反復子や型変換などの言語レベルの動作を定義するために使用される、Symbol.iterator、Symbol.toPrimitive などのいくつかの組み込み定数もあります。

要約すると、BigInt と Symbol という 2 つのプリミティブ型はあまり一般的には使用されませんが、実際には非常に役立ちます。BigInt は非常に大きな整数を処理でき、Symbol はプロパティ名の衝突の問題を回避するための信頼できるソリューションを提供します。これら 2 つのデータ型を使用する場合は、実際のニーズと文法仕様に従って使用するかどうかを決定する必要があります。

おすすめ

転載: blog.csdn.net/weixin_61719769/article/details/129819514