# @baiwusanyu/utils-obj

## Function

### extend

将两个对象合并成一个对象，其中第一个对象中冲突项将被第二个对象覆盖
(并不支持深层对象析合并覆盖)

| 参数        | 参数类型                            | 默认值     | 说明       |
|-----------|---------------------------------|---------|----------|
| objFir    | `T extends Record<string, any>` | `-`     | 合并的第一个对象 |
| objSec    | `U extends Record<string, any>` | `-`     | 合并的第二个对象 |

| 返回值 | 返回类型     | 说明     |
|-----|----------|--------|
| obj | `T & U ` | 合并后的对象 |

### extendDeep

将两个对象合并成一个对象，其中第一个对象中冲突项将被第二个对象覆盖
(支持深层对象析合并覆盖)

| 参数        | 参数类型                            | 默认值     | 说明       |
|-----------|---------------------------------|---------|----------|
| objFir    | `T extends Record<string, any>` | `-`     | 合并的第一个对象 |
| objSec    | `U extends Record<string, any>` | `-`     | 合并的第二个对象 |

| 返回值 | 返回类型     | 说明     |
|-----|----------|--------|
| obj | `T & U ` | 合并后的对象 |

### jsonClone

使用 `Json api` 深度克隆一个对象

| 参数     | 参数类型                            | 默认值     | 说明       |
|--------|---------------------------------|---------|----------|
| obj    | `T extends Record<any, any>` | `-`     | 待克隆对象    |

| 返回值 | 返回类型 | 说明     |
|-----|------|--------|
| obj | `T`  | 克隆结果对象 |

### deepCopy

递归的深度克隆一个对象

| 参数     | 参数类型 | 默认值     | 说明       |
|--------|------|---------|----------|
| obj    | `T`  | `-`     | 待克隆对象    |

| 返回值 | 返回类型 | 说明     |
|-----|------|--------|
| obj | `T`  | 克隆结果对象 |
