今回は、{}で定義される値としてのオブジェクトについて実験します。 コードを短くするのと、あと概念的に使う場面が多そうです。 |
コード |
function Test(){ var a={p:1,q:'Q',r:function(){return this.q},'s':'S'}; alert(a.p+'\n'+a.q+'\n'+a.r()+'\n'+a.s+'\n'+a.constructor); } |
{}の後のセミコロンは無いとエラーが起きます。つまり、 {}はオブジェクトという値として考えられます。 それぞれのプロパティの定義の間には、コンマを入れないとエラーが起きます。 a.sのようにプロパティを定義することもできるようです。 a.constructorは、結果の通りObjectクラスのコンストラクタのようです。 |
{}はクラスの定義ではないので、コンストラクタの役目は持っていません。 ただのオブジェクトですし、Objectオブジェクトにもなったりするだけです。 ただ、あるクラスのprototypeを突っ込むことによってああなったりこうなったり出来るかも知れません。 ちなみに、連想配列という呼び方は個人的に嫌いです |
top 戻る |