JavaScript で名前付きパラメータを使用する (TypeScript ベース) 質問する

JavaScript で名前付きパラメータを使用する (TypeScript ベース) 質問する

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
}

おすすめ記事