• ベストアンサー
※ 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() );すると、',,' と表示されます

質問者が選んだベストアンサー

  • ベストアンサー
  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.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値が入っているわけではありません

re97
質問者

お礼

回答ありがとうございました。 >{0:undefined, 1:undefined, 2:undefined, length:3} >とは違います >要するに穴が開いた配列なのです ・説明分かりやすかったです ・参考になりましたー

関連するQ&A