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

JavaScript入門 練習問題 50:オブジェクト:const宣言とプロパティの変更

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

```javascript
const user = { name: "Alice" };
user.name = "Bob";
console.log(user.name);
```

  1. コンソールに "Bob" と出力される。
  2. コンソールに "Alice" と出力される。
  3. 実行時に TypeError が発生する。
  4. コンソールに undefined と出力される。
  5. コンソールに null と出力される。
正解と解説を見る
正解:コンソールに "Bob" と出力される。

コンソールには "Bob" と出力されるのが正解です。

【正解の理由】
`const`キーワードで宣言された変数は再代入が禁止されますが、オブジェクト自体のプロパティ(中身)を変更することは許可されています。そのため、`user.name = "Bob"` は正常に実行され、出力結果は変更後の値になります。

【不正解の理由】
• 「コンソールに "Alice" と出力される。」は、値の変更が無視されるという点で誤り
• 「実行時に TypeError が発生する。」は、再代入エラーが起きると誤解しているため誤り
• 「コンソールに undefined と出力される。」は、プロパティが消去されるわけではないため誤り
• 「コンソールに null と出力される。」は、値がnullに変換されるわけではないため誤り

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