[解決済み] TypeScriptの自由形式関数引数
2022-04-25 09:52:33
質問
IMOの主な関心事の1つは タイプスクリプト は、既存のバニラJavaScriptのコードをサポートすることです。これは、私が一見して感じた印象です。以下のJavaScriptの関数を見てほしいが、これは完全に有効である。
注:私はこの方法が好きだと言っているのではありません。ただ、これが 有効なJavaScriptのコードです。
function sum(numbers) {
var agregatedNumber = 0;
for(var i = 0; i < arguments.length; i++) {
agregatedNumber += arguments[i];
}
return agregatedNumber;
}
そこで、この関数を任意の数の引数で消費する。
console.log(sum(1, 5, 10, 15, 20));
しかし、試しに タイプスクリプト・プレイグラウンド を使用すると、コンパイル時にエラーが発生します。
これはバグだと推測しています。互換性の問題はないと仮定しましょう。では、この種の関数を自由な引数で書く方法はないのでしょうか?例えば
params
の機能を C# で使用できますか?
どのように解決するのですか?
TypeScriptのやり方は、省略記号演算子(
...
) を引数名の前に置く。上記は次のように書くことになる。
function sum(...numbers: number[]) {
var aggregateNumber = 0;
for (var i = 0; i < numbers.length; i++)
aggregateNumber += numbers[i];
return aggregateNumber;
}
で正しくタイプチェックされます。
console.log(sum(1, 5, 10, 15, 20));
関連
-
jQueryのコピーオブジェクトの説明
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] URLを新しいタブで開く(新しいウィンドウではない)
-
[解決済み] JavaScriptで日付の書式設定に関するドキュメントはどこにありますか?
-
[解決済み】TypeScriptのインターフェースと型について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
要素ツリー制御によるvueTreeテーブル
-
Javascript Bootstrapのグリッドシステム、ナビゲーションバー、ローテーションの説明
-
vueはopenlayersを使用してスカイマップとガオードマップをロードする
-
[解決済み】React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
-
[解決済み】TypeError: Router.use() はミドルウェアの関数を要求しているが、Object を取得した。
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
HTML5 LocalStorage ローカルストレージとセッションストレージの使用法