Qraft(クラフト) 資格・学習クイズアプリ

JavaScript入門 練習問題 47:組み込みオブジェクト:Map

次のコードを実行したときのコンソールへの出力として正しいものはどれですか?

```javascript
const map = new Map();
map.set('name', '太郎');
map.set(1, '数値');
console.log(map.size);
```

  1. コンソールに 2 という数値が出力される
  2. コンソールに 1 という数値が出力される
  3. コンソールに undefined が出力される
  4. コンソールに NaN という値が出力される
  5. 型エラーが発生し、何も出力されない

Qraftユーザーの成績:難易度 Cランク(レーティング1162)・正答率 53%(8/15回正解)
レーティングは解いた人の実力と正誤から算出する難しさ(初期値1200)。ランクはその全問題中の順位(S+が最難関、F-が最易)

正解と解説を見る
正解:コンソールに 2 という数値が出力される

`Map`オブジェクトは追加されたキーと値のペアの数を `size` プロパティで取得できるため、2つの要素を追加した後のサイズである `2` が出力されるのが正解です。

【正解の理由】
`Map`オブジェクトには `set` メソッドで2回データが追加されており、それぞれ異なるキー(文字列の'name'と数値の1)を使用しています。`size` プロパティは現在格納されている要素の個数を返すため、2が出力されます。

【不正解の理由】
• 「コンソールに 1 という数値が出力される」は誤り。要素は2つ追加されており、上書きされていないため個数は2です。
• 「コンソールに undefined が出力される」は誤り。`size` プロパティは存在し、正しい数値を返します。
• 「コンソールに NaN という値が出力される」は誤り。計算不可能な値(Not a Number)ではなく、正常に2を返します。
• 「型エラーが発生し、何も出力されない」は誤り。Mapのキーとして数値を使用することは許可されており、エラーにはなりません。

← 前の問題問題一覧次の問題 →
アプリで解いてレーティングを上げる(無料・登録不要)