JavaScriptのオブジェクトであるSet
オブジェクトを勉強しようと思い、「Set - JavaScript | MDN」に載っている例を検証してみたのですが、console.log()
の出力結果が相違してしまいます。
javascript
1var mySet = new Set(); 2 3mySet.add(1); // Set [ 1 ] 4mySet.add(5); // Set [ 1, 5 ] 5mySet.add(5); // Set [ 1, 5 ] 6mySet.add('some text'); // Set [ 1, 5, 'some text' ] 7var o = {a: 1, b: 2}; 8mySet.add(o); 9 10mySet.add({a: 1, b: 2}); // o is referencing a different object so this is okay 11 12mySet.has(1); // true 13mySet.has(3); // 3 は集合にないため、false 14mySet.has(5); // true 15mySet.has(Math.sqrt(25)); // true 16mySet.has('Some Text'.toLowerCase()); // true 17mySet.has(o); // true 18 19mySet.size; // 5 20 21mySet.delete(5); // 集合から 5 を削除 22mySet.has(5); // 5 が削除されているため false 23 24mySet.size; // 要素を 1 つ削除しているため 4 25console.log(mySet);// Set [ 1, "some text", Object {a: 1, b: 2}, Object {a: 1, b: 2} ]
以下の実行環境で検証しました。
すると、[object Set] {}
という出力がされてしまいました。
目的
- この問題の原因が知りたい
- リファレンス通りの出力が期待できる実行環境が知りたい
実行環境
Google Chrome バージョン: 84.0.4147.135(Official Build) (64 ビット)
Microsoft Windows10 バージョン1903(OSビルド 18362,1016)
よろしくおねがいします。
回答3件
あなたの回答
tips
プレビュー