我正在將JavaScript庫轉換爲打字稿。我遇到了一個問題,其中一個變量可以是一個布爾值或一個數組。在打字稿中對聯合類型變量使用非共享方法
這不能改變,因爲它是由外部JSON數據提供的 - 而且由於用戶期望數據結構保持不變,所以我不能將它分成兩個變量。
我的問題是即使我可以定義一個聯合類型,我以後訪問的方法一旦這個數組做而不是存在於布爾值上。
所以打字稿與error TS2339: Property 'push' does not exist on type 'boolean | string[]'.
var children: boolean | Array<string>;
children = [];
children.push('test');
這是產生我得到的結果非常簡單的代碼示例抱怨。我該如何解決這個問題?
[any](https://www.typescriptlang.org/docs/handbook/basic-types.html#any)類型是否工作,或者您是否試圖避免這種情況? –
這很有效,我寧願不要那麼通用,但我相信我沒有選擇。 – helion3