どのように私はtypescriptですで活字タイプ
string|string[]|string[][]|string[][][] // ad infinitum
の型を定義していますか?
編集: ソリューションは次のようになります。
type Rec = string | string[] | Rec[]
それが許可されていません。
interface RecursiveArray<T> {
[index: number]: (RecursiveArray<T> | T);
}
type Recursive<T> = T|RecursiveArray<T>
function stringValue (value: Recursive<string|boolean>): Recursive<string> {
if (typeof value === 'boolean') {
return value ? 'true' : 'false';
}
if (Array.isArray (value)) {
return (value).map (stringValue);
}
return stringValue(value);
}
最も単純な答えは、単に「any」と入力するだけですが、タイプが正しくありません。あなたは 'Array'としてそれをタイプしようとしましたか? –
Nieminen
無限のディープアレイのユースケースについて聞かせてもいいですか? –
私が見ることのできる唯一の解決策は、自動的にタイスクリプトが自動的に検出する循環参照を作成することです。ユースケースに関する詳細情報は – jrmgx