タイプ・スクリプト2.0プロジェクトでは、Immutable.js
を使用して不変の変数を定義したいと考えています。特に、マップのキーを既知のセットに制限したいと思います。次のようなもの:制限付き辞書をタイプ・スクリプトで入力する
response
のようなものかもしれない
type ConstrainedKeys = 'foo' | 'bar' | 'baz';
interface INameValuePair {
name: string;
value: string;
};
const dictionary = Immutable.Map<ConstrainedKeys, NameValuePair>(response);
:
{
foo: {
name: 'foo',
value: 'typing is fun'
}
}
しかし、私は試してみてdictionary.foo.value
を参照するとき、私は活字のエラーを取得:
[ts] Property 'foo' does not exist on type 'Map<ConstrainedKeys,INameValuePair>'.
何をするときに、そのエラーを取得しますか? 'foo'に' dictionary.foo'のようにアクセスしようとしていますか? –
申し訳ありません。それを質問に追加します。 – ken
また、TypeScriptの型チェックをサポートする軽量不変ヘルパーであるhttps://github.com/engineforce/ImmutableAssignをチェックして、POJO(Plain Old JavaScript Object)での作業を続けることもできます。 – engineforce