Skip to content

Home > @zero-dim/utils > deepCopy

deepCopy() function

创建值的深拷贝

Signature:

typescript
export declare function deepCopy(value: any): any;

Parameters

Parameter

Type

Description

value

any

要深拷贝的值

**Returns:**

any

输入值的深拷贝

Remarks

  • 支持所有 JavaScript 数据类型 - 创建完全独立的副本 - 保持原对象的结构和嵌套关系 - 处理循环引用

Example

typescript
// 示例1: 基础类型拷贝
const num = deepCopy(42);
const str = deepCopy("hello");
// 结果: 42, "hello"

// 示例2: 对象深拷贝
const original = {
  name: 'John',
  profile: {
    age: 30,
    scores: [85, 92, 78]
  }
};
const copy = deepCopy(original);
// copy !== original
// copy.profile !== original.profile
// copy.profile.scores !== original.profile.scores

// 示例3: 特殊对象拷贝
const date = new Date();
const copyDate = deepCopy(date);

// 示例4: 数组深拷贝
const arr = [1, { x: 1 }, [2, 3]];
const copyArr = deepCopy(arr);
// 结果: 完全独立的数组副本