
对于数组,对象这类数据类型,有时我们需要克隆另外一个相同的数据,但是地址不一样。为了不改变原来的对象。
可以先序列化,再反序列化,就得到了和原来内容一样,但地址不同的对象
但是 JSON.parse 的返回值是 any 类型的,有时我们还需要对这个返回值做一些操作,ts 就不知道它是什么类型了。
所以我们可以指定,传进去的数据是什么类型,克隆之后的返回值就是什么类型。比如 T ,然后 ts 会说不知道 T 在哪里声明了 。所以用一个 <> 声明一下,在使用。
然后在调用 clone 函数的时候,传进去的参数要指明类型,这样克隆完的就还是一样的类型。
例子
把 recordList 深克隆一下,再把新对象排序
报错 :参数 a 有 隐形的 any 类型(不知道 a 是什么)
clone 类型也是 any 怎么办?

意思就是 data 是什么类型T2 ,返回值就是什么类型T3 ,那么 T 哪里来的呢? 我们需要声明一下
什么参数都可以,不一定非是 T
这样就没报错了,因为 clone 的类型 可以通过 recordList 推出来
