簡體   English   中英

JSON.parse(JSON.stringify(data)) 輸入 typescript

[英]JSON.parse(JSON.stringify(data)) type in typescript

我正在使用 typescript 並想深度復制我的 object。我使用了 JSON.parse(JSON.stringify(data)) 方法這里是代碼

const dataClone: DataType[] = JSON.parse( JSON.stringify(data) );

我的數據是一個包含 object 的數組,類型為 DataType[]。 但是我收到警告說我使用了任何類型,它是 - any值的不安全賦值。

我在哪里錯過了類型?

我試圖在變量聲明之后放置類型

const dataClone: DataType[] = JSON.parse( JSON.stringify(data) );

當您使用JSON.parse時,您的類型丟失為string ,然后當您使用JSON.stringify時,您的類型丟失為any ,因此您必須使用類型斷言告訴編譯器它是DataType[]類型,如下所示:

const dataClone = JSON.parse(JSON.stringify(data)) as DataType[]; 

您還可以使用擴展運算符

const dataClone: DataType[] = [...state.initialData]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM