javascriptに属さないデータ型はjsの予約語であるinterfaceであり、javascriptのデータ型には未定義、数値、シンボルなどがあります。
この記事の動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScript の基本的なデータ型は次のとおりです: (1) 未定義、(2) Null、(3) ブール値、(4) 文字列、(5) 数値、(6) シンボル、 ( 7) オブジェクト。 ES6 では Symbol タイプが追加されており、以下では主に Symbol タイプに関連するいくつかの知識ポイントについて説明します。
シンボルの特性
1. インスタンスは一意であり、変更できません; 一意の識別子 シンボル は、設定した属性値が他の人によって上書きされたり、上書きされたりしないように、オブジェクトの一意の属性名として使用できます。
1 let id = Symbol("id");
2. データ型の特徴: 同じ変数によって生成された値が等しくなくても、一意性があります。
1 let id1 = Symbol("id");2 let id2 = Symbol("id");3 console.log(id1 == id2); //false
3. データ型の特徴: Hiddenness、for...in、object.keys() にはアクセスできません。
1 let id = Symbol("id");2 let obj = {3 [id] : 'symbol' 4 }5 for ( let key in obj){6 console.log(obj[key]); //输出为空7 }
アクセス可能なメソッド: Object.getOwnPropertySymbols、 は、すべてのメンバーが現在のオブジェクトのシンボル値の関数である配列を返します。属性名の。
1 let id = Symbol("id");2 let obj = {3 [id] : 'symbol' 4 }5 let arr = Object.getOwnPropertySymbols(obj);6 console.log(arr) // [Symbol(id)]7 console.log(obj[arr[0]]) // 'symbol'
4. 同じシンボル値を複数回使用できます。公式はグローバルな登録と登録メソッドを提供しています: Symbol.for()
let name1 = Symbol.for("name"); // 检测未创建后新建let name2 = Symbol.for("name"); // 检测已创建后返回console.log(name1 == name2); // true
このようにして、パラメータ値を通じてグローバル シンボル オブジェクトを取得できますが、逆に、Symbol.keyFor()# を使用することもできます。 ##パラメータ値を取得します。
let name1 = Symbol.for("name"); let name2 = Symbol.for("name"); console.log(Symbol.keyFor("name1")); // 'name'console.log(Symbol.keyFor("name2")); // 'name'
5.instanceof の結果は false
let s = Symbol('foo'); console.log(s instanceof Symbol); // false
注: シンボル型データを作成するときのパラメーターは次のとおりです。識別子として使用されるだけなので、Symbol() はパラメータとしても使用できます。
以上がJavaScript の一部ではないデータ型は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。