# Map 與表單資料擴充

`Map` 的鏈式工具，以及 `FormData` 與 `<form>` 元素的 `$map`／`$json` 轉換。

## Map

原始碼：`src/prototype/Map.ts`

| 方法／屬性 | 說明 |
| --- | --- |
| `map.length` | `this.size` |
| `map.$keys` / `map.$values` | keys／values 的迭代器 |
| `map.$json` | `Object.fromEntries(this)` |
| `map._(key, value?)` | 鏈式 `set(key, value)` |
| `map.$(key?)` | `get(key)` |
| `map.$_(key?)` | 鏈式 `delete(key)` |
| `map.$$(key?)` | 有 `key` 時為 `has(key)`，否則為 `this.size > 0` |

## FormData

原始碼：`src/prototype/FormData.ts`

| 方法／屬性 | 說明 |
| --- | --- |
| `formData.$map` | 條目組成的 `Map` |
| `formData.$json` | 條目組成的純物件 |

## HTMLFormElement

原始碼：`src/prototype/HTMLFormElement.ts`

| 方法／屬性 | 說明 |
| --- | --- |
| `form.$map` | 表單欄位組成的 `Map`（透過內部 `FormData` 封裝）|
| `form.$json` | 表單欄位組成的純物件 |
