# cloneDeep

深拷贝工具函数

## Functions

### cloneDeep

深拷贝，支持所有数据类型

```ts
function cloneDeep<T>(obj: T): T
```

**支持的数据类型**

- 基本类型（string, number, boolean, null, undefined, symbol, bigint）
- 数组
- 对象
- Date
- RegExp
- Map
- Set
- 嵌套对象/数组

**Example**

```ts
import { cloneDeep } from '@allkit/shared'

// 简单对象
const original = { name: 'a', person: { age: 18 } }
const cloned = cloneDeep(original)
cloned.person.age = 20
console.log(original.person.age) // 18

// 数组
const arr = [1, 2, { a: 1 }]
const arrClone = cloneDeep(arr)

// Date
const date = new Date()
const dateClone = cloneDeep(date)

// RegExp
const reg = /test/g
const regClone = cloneDeep(reg)

// Map
const map = new Map([['key', 'value']])
const mapClone = cloneDeep(map)

// Set
const set = new Set([1, 2, 3])
const setClone = cloneDeep(set)
```

## Difference from deepClone

`cloneDeep` 是 `deepClone` 的别名，功能完全相同。
