converting a JSON-derived JavaScript value to an Infra value

Infra値 (Web)

仕様書

データ型

[1] Infra Standardデータ型

型変換

[4] JSON派生JavaScript値をInfra値に変換 (convert a JSON-derived JavaScript value to an Infra value) するには、 JavaScript値を、 次のようにします。 >>3

  1. [5] Type (JavaScript値) が Null, Boolean, String, Number の場合、
    1. [6] JavaScript値を返します。
  2. [7] それ以外で、 IsArray (JavaScript値) がの場合、
    1. [8] 結果を、リストに設定します。
    2. [9] 長さを、 ! ToLength (! Get (JavaScript値, length)) の結果に設定します。
    3. [10] 範囲 [ 0, 長さ - 1 ] の各索引ついて、順に
      1. [11] 索引名を、 ! ToString (索引) に設定します。
      2. [12] 索引のJavaScript値 を、 ! Get (JavaScript値, 索引名) に設定します。
      3. [13] 索引の基盤値を、 索引のJavaScript値JSON派生JavaScript値をInfra値に変換した結果に設定します。
      4. [14] 索引の基盤値を、 結果末尾に追加します。
    4. [15] 結果を返します。
  3. [16] それ以外の場合、
    1. [17] 結果を、 順序付き写像に設定します。
    2. [18] ! JavaScript値OwnPropertyKeys () の各ついて、順に
      1. [19] 鍵のJavaScript値を、 ! Get (JavaScript値, ) に設定します。
      2. [21] 鍵の基盤値を、 鍵のJavaScript値JSON派生JavaScript値をInfra値に変換した結果に設定します。
      3. [20] 結果 [ ] を、 鍵の基盤値設定します。
    3. [22] 結果を返します。

[26] JSONをInfra値に構文解析する処理から呼び出されます。

メモ

[23] Add "parse JSON into Infra values" (domenic, , ) https://github.com/whatwg/infra/commit/9bf763869b84aac00c8a1883ddb70485835ae861

[24] Add "parse JSON into maps and lists" by domenic · Pull Request #249 · whatwg/infra () https://github.com/whatwg/infra/pull/249

[25] Add Boolean to JSON-to-Infra conversion steps (NotWoods, , ) https://github.com/whatwg/infra/commit/fbe57e3bcc2730d8ecb96ef667a739aec92f91d4

[27] Boolean not listed in infra conversion steps · Issue #273 · whatwg/infra () https://github.com/whatwg/infra/issues/273

[28] Add Boolean to conversion steps by NotWoods · Pull Request #275 · whatwg/infra () https://github.com/whatwg/infra/pull/275