パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Javascriptの連想配列と配列」記事へのコメント

  • {}はオブジェクトで、[]は配列(のオブジェクト)です。仕様書のP.158を参照。
    # 本文中に解説は見当たらなかった...

    JavaScriptではオブジェクト≒連想配列で、配列は配列のオブジェクトという扱いになっているようです。Perlのオブジェクトに似てますね。
    • 誰かから返答をいただけるなんて思っていませんでした。(でもちょっと期待していた)
      ACさんありがとうございます! おかげさまで、根本的な誤解を解くことができました。

      >仕様書のP.158を参照。
      なるほどここ(PDF) [ecma-international.org]を見ればよかったのですね。

      > JavaScriptではオブジェクト≒連想配列
      これはなんとなく知っていました。

      >配列は配列のオブジェクト
      これを忘れていました! 配列といえどもオブジェクトだから、プロパティを持てるのですね。
      たとえば

      var arr=[];    // arrはArrayになる
      arr["a"]=123;  // arrのaというプロパティに代入

      これの2行目がaというプロパティへの代入だということを認識していなかったです。

      そうなると、「『for-in statement』

      • 激遅レスになってしまいましたが、改めて見直すと
        var aa=[];
        aa={"a":1, "b":2, "c":3};
        ここも指摘しておくべきだったかも。{}は新たなオブジェクトを生成するので、2行目は1行目で生成した配列を破棄して、新たなオブジェクトに置き換えています。なのでaaは配列ではなくなっていたのですね。

        # もう解決済みかもしれませんが、返答を読むと気になったので...

Stableって古いって意味だっけ? -- Debian初級

処理中...