すべてを String で書いてたら、あるときエラーになってしまったので共有します。
エラーの理由
クライアント側のコードをTypeScriptで書いていたとき、SocketIOのライブラリを使っていたところ、次のエラーになりました。
|
1 |
error TS2345: Argument of type 'String' is not assignable to parameter of type 'string'. |
ライブラリの定義を確認すると string の引数を受け取るところに String の変数を与えていることが分かりました。
Stringとstring? あれ、同じじゃないの?なんて思っていたらどうやら違うようです。
エラーの再現コードはこんな感じです。
|
1 2 3 4 5 6 7 8 9 |
public call() { let val1: String = 'val1'; this.callee(val1); // ここで error TS2345 } // この callee 関数はライブラリ内にある public callee(param: string ) { console.log('param: ', param); } |





