1
type MyStructure = Object[] | Object;
const myStructure: MyStructure = [{ foo: "bar" }];
myStructure.map(); // Property 'map' does not exist on type 'MyStructure'. any
ライブラリは、このオブジェクトのオブジェクトまたは配列を配信します。どのように入力すればいいですか?プロパティ 'map'が型オブジェクトに存在しません
EDIT
そして、どのように私は、オブジェクトになりますmyStructure
の場合にmyStructure["foo"]
などのプロパティにアクセスすることができますか?
私は実際に_.isArrayでこれをしませんでした( )、もちろんTypeScriptでは動作しません...あなたの助けてくれてありがとう! – kraftwer1
@Sohnee、これがなぜ機能するのか知っていますか?type MyStructure = number [] | number; '[Playground](https://www.typescriptlang.org/play/index.html#src=%0D%0Atype%20MyStructure%20%3D%20number%5B%5D%20%7C%20number%3B% 0D%0A%0D%0Alet%20MyStructure%3A%20MyStructure%20%3D%20%5B3%5D%3B%0D%0A%0D%0AmyStructure.map(n%20%3D%3E%20n * 2)%3B %0D%0AmyStructure%20%3D%205%3B)? –
問題を引き起こすのは 'Object'だけです。 'any'を使う方法と、mapメソッドで使うものを定義するクラスを使う(おそらくもっと便利な)二つの例を参照してください。マップするメソッドの中でより良い型情報が得られます。 – Fenton