検索

ホームページ  >  に質問  >  本文

javascript - JS のオブジェクトに関する質問

今日、JS オブジェクトについて説明している本を見ましたが、よく理解できない例がありました

リーリー
漂亮男人漂亮男人2793日前474

全員に返信(5)返信します

  • PHP中文网

    PHP中文网2017-05-18 10:53:26


    ここでの [object Object] は、このステップ myObject[myObject] = "foo"; の myObject の暗黙的な型変換によって取得されるため、ここでの [object Object] は単なる変換された文字列ですが、オブジェクト内では '[object Object]' として扱われます。値「foo」をキーとして保存します。

    返事
    0
  • PHP中文网

    PHP中文网2017-05-18 10:53:26

    リーリー

    返事
    0
  • 世界只因有你

    世界只因有你2017-05-18 10:53:26

    リーリー

    返事
    0
  • ringa_lee

    ringa_lee2017-05-18 10:53:26

    これはオブジェクトキー名の暗黙的な変換の問題です。
    次の例を現地語で説明してみましょう:

    A オブジェクトがあり、B オブジェクトを A オブジェクトのキー名として渡したいのですが、オブジェクトのキー名はすべて文字列であるため、B オブジェクトは toString() メソッドを呼び出して変換します。文字列 "[ object Object]" に変換して、A オブジェクトのキー名としてデータを格納します。インスタンス内のデータは、この "foo" 文字列です。


    特別な注意が必要なもう 1 つの点は次のとおりです。
    ご質問の A オブジェクトと B オブジェクトは同じであり、非常に混乱を招くため、それらを区別するために新しい mykey を宣言しました。

    リーリー

    出力結果は true です。これは、「[object Object]」が {} と等しくないが、toString() メソッドを渡した後にオブジェクトによって返された文字列と等しいことを証明します


    リーリー

    上記の 3 行のコードは、「[object Object]」が toString() メソッドを渡した後にオブジェクトによって返される文字列と等しいことを再度証明します

    返事
    0
  • 大家讲道理

    大家讲道理2017-05-18 10:53:26

    キー値は自動的に文字列に変換されます

    返事
    0
  • キャンセル返事