ホームページ >ウェブフロントエンド >jsチュートリアル >es6 で追加された新しいデータ型は何ですか?
es6 新しく追加されたデータ型: 1. シンボル型; 2. セット型; 3. マップ型; 4. WeakSet 型; 5. WeakMap 型; 6. TypedArray 型。
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
ES6 の新しいデータ型
es6
より前にどのようなデータ型があったのかを見てみましょう。
基本タイプ:
string
##null
Q1: オブジェクトにプライベート属性を持たせるにはどうすればよいですか? (Symbol の用途は何ですか?)
{ // 私有作用域 let a = Symbol() window.oo = { name: '对象', age: 18, [a]: '这是一个私有属性' } console.log(oo[a]) // 这是一个私有属性 } // 不能再作用域外打印...
の key
として使用します。 the objectoo
スコープ外では正しく出力できないプライベート属性があります。
#Q2: 配列から重複をすばやく削除するにはどうすればよいですか?
これは非常に古典的な面接の質問です。その前にお話しさせてください。 this
es6 以前の重複排除メソッド:
let array = [1, 2, 3, 4, 4, 5, 5, 6] ~function uniq() { let result = [] let hash = {} for (let i=0; i<array.length><br><code></code>ただし、このメソッドには大きな欠点があります。重複排除配列にオブジェクトを含めることはできず、このメソッドによって返される結果は次のとおりです。メソッドはすべて文字列であるため、このような配列は重複排除できません。 <p class="image-package"><img src="https://img.php.cn/upload/image/369/298/171/1630654569660947.png" title="1630654569660947.png" alt="es6 で追加された新しいデータ型は何ですか?">Set</p> <p></p> <pre class="brush:php;toolbar:false">let a = {a: 11} let array = [0, 1, '1', '22', 22, a, a, 66] ~function uniq() { return Array.from(new Set(array)) // 装比写法 [... new Set(array)] }()
を使用すると、オブジェクト参照さえも重複排除できます。これは非常に簡単な方法です。
Q3: マップの用途は何ですか?
回答: とは異なります。 key は文字列のみにすることができます。つまり、この機能を使用すると、以前の重複排除を最適化できますが、すでに
set があるため、これは必要ありません。
栗をください
let myMap = new Map() let keyObj = {} let keyFunc = function () {} let keyString = "a string" // 添加键 myMap.set(keyString, "和键'a string'关联的值"); myMap.set(keyObj, "和键keyObj关联的值"); myMap.set(keyFunc, "和键keyFunc关联的值");
Q4: WeakMap と Map の違いは何ですか? 答え: WeakMap
違いは、WeakMap
知っておくべきことは何ですか弱参照は次のとおりです:
記事: ES2015 WeakMap の学習と使用
回答: 上記と同じ
回答: このタイプを使用する方法はほとんどありません。主にバイナリ ファイル (オーディオ、ファイル、ビデオ、写真など) の処理に使用され、ホイールを開発しない限り通常は使用されません。あなた自身。
以上がes6 で追加された新しいデータ型は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。