- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:new Array(3)は配列undefined?)
new Array(3)は配列undefined?
このQ&Aのポイント
- new Array(3)は、undefinedなのでしょうか?
- console.log( new Array(3) );すると、[] と表示されます
- console.log( new Array(3).toString() );すると、',,' と表示されます
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
配列もオブジェクトです ["A", "B", "C"] は {0:"A", 1:"B", 2:"C", length:3} のようなものです 一方 new Array(3) は {length:3} のようなものです {0:undefined, 1:undefined, 2:undefined, length:3} とは違います 要するに穴が開いた配列なのです 配列を文字列化するとjoinメソッドが呼ばれます toStringでそういう表記になるのはjoinメソッドの仕様ですし、 console.logでそういう表記になるのはconsole.logメソッドの仕様だからとしか言えません undefinedとならないのはどちらも穴とundefinedを区別した表記にしようとしているからです べつに "undefined, undefined, undefined" と返すものがあっても不思議ではありません 結局 ({abc:undefined}).abc も ({}).abc もundefinedを返しますしね ですが実際にundefined値が入っているわけではありません
お礼
回答ありがとうございました。 >{0:undefined, 1:undefined, 2:undefined, length:3} >とは違います >要するに穴が開いた配列なのです ・説明分かりやすかったです ・参考になりましたー