[[🗃️リテラル型(TypeScript)]]でメソッドの引数を決めたとき。 stringの'foo'を渡すだけだと、型エラーになってしまう。 ```ts function iTakeFoo(foo: 'foo') { } const test = { someProp: 'foo' }; iTakeFoo(test.someProp); // Error: Argument of type string is not assignable to parameter of type 'foo' ``` ## 解決法 - `as`をつかって型を強制する ```ts function iTakeFoo(foo: 'foo') { } const test = { someProp: 'foo' as 'foo' }; iTakeFoo(test.someProp); // Okay! ``` - 変数の型宣言する ```ts function iTakeFoo(foo: 'foo') { } type Test = { someProp: 'foo', } const test: Test = { // Annotate - inferred someProp is always === 'foo' someProp: 'foo' }; iTakeFoo(test.someProp); // Okay! ```