TypeScript で名前付きパラメータを使用するときに問題が発生します。TypeScript で使用している方法ではサポートされていないことはわかっています。
しかし、どうすればそれができるのでしょうか?
タイプスクリプト:
SomeFunction(name1: boolean,
name2: boolean,
name3: boolean,
name4: boolean) // Will occur only one time,
// so the change should be in TypeScript
JavaScript:
$(function () {
...SomeFunction({name1:false,
name2:false,
name3:false,
name4:true}); // Will occur 100 times
});
私は次のことを検討していました(これはうまくいきませんでした):
JavaScript の関数呼び出しで名前付きパラメータを提供する方法はありますか?
TypeScript 関数パラメータにオプションの名前付きパラメータを追加するにはどうすればよいですか?
TypeScript で JavaScript の名前付きパラメータを使用するにはどうすればよいでしょうか?
私が不思議に思うのは、ビジュアルスタジオ2015TypeScript で使用した方法で名前付きパラメータを使用した場合、構文エラーは表示されませんでした...
追記: TypeScript 2.1を使用しています
ベストアンサー1
本当の名前付きパラメータはJavaScriptにもTypeScriptにも存在しませんが、構造化解除に名前付きパラメータをシミュレートする:
interface Names {
name1: boolean
name2: boolean
name3: boolean
name4: boolean
}
function myFunction({name1, name2, name3, name4}: Names) {
// name1, etc. are boolean
}
注意: 型はNames
実際にはオプションです。次の JavaScript コード (型なし) は TS で有効です。
function myFunction({name1, name2, name3, name4}) {
// name1, etc. are of type any
}