スキップしてメイン コンテンツに移動

Typescript 残余引数

 TypeScriptにおける「残余引数」(Rest Parameters)は、関数のパラメータとして、可変個数の引数を受け取るための仕組みです。関数の定義において、残余引数を表すために `...` 演算子を使用します。これにより、関数呼び出し時に指定された引数のうち、先頭のいくつかを通常のパラメータとして処理し、残りの引数を配列として受け取ることができます。


以下は、残余引数の基本的な使い方を示した TypeScript の例です:


```typescript

function sumAllNumbers(...numbers: number[]): number {

    return numbers.reduce((sum, num) => sum + num, 0);

}


const result1 = sumAllNumbers(1, 2, 3, 4, 5);

console.log(result1); // 15


const result2 = sumAllNumbers(10, 20);

console.log(result2); // 30

```


この例では、`sumAllNumbers`関数が残余引数 `...numbers` を受け取っています。関数内では、この残余引数 `numbers` は通常の配列として扱われます。関数呼び出し時に渡されたすべての引数が、`numbers` 配列にまとめられます。その後、配列の `reduce` メソッドを使って、与えられた数値の合計を計算しています。


残余引数を使うことで、可変個数の引数をスマートに扱うことができます。これは、同じ種類の引数を複数回呼び出す関数を作成したり、引数の数が事前にわからない場合に特に便利です。

コメント

このブログの人気の投稿

gitよく使うコマンド集

よく使うgitのコマンド集をまとめてみた。 1.ローカルリポジトリの登録  #git init 2.gitの状態を確認  #git status 3.gitのファイルを追加  #git add . 4.ローカルのマスタにコミットする  #git commit -m "体温管理アプリの初期化" 5.リモートリポジトリを登録する  #git remote add origin https://github.com/ユーザーID/リポジトリ名  例)git remote add origin https://github.com/githubkyo/taionkanri 6. リモートリポジトリの変更履歴の取得 git fetch origin master 7.差分のあるファイル名を表示 > git diff --name-status ローカルブランチ名 origin/リモートブランチ名 【例】 > git diff --name-status master origin/master 8.リモートのファイルのみをローカルに反映する。 git checkout origin/master --src/Eccube/Resource/template/default/default_frame.twig 9.別ブランチをマスタへマージする git checkout master git merge other_branch 以上で、随時更新していく予定。

MongoDB入門編 その1)

mogoDBについて、勉強しながら、紹介していきます。 1.インストール  https://www.mongodb.com/try/download/communityにアクセスして、Available Downloadsの ところから、ダウンロードして、手順に沿ってインストールする。 2.サービスの起動と停止 起動:sudo service mongodb start 停止:sudo service mongodb stop 3.mongoシェルの起動 #mongo 4.実際に使ってみる。 ・用語  MongoDBとRDBとの比較  -------------------------------------  MongoDB          | RDB  -------------------------------------  データベース     | データベース  -------------------------------------  コレクション     | テーブル  -------------------------------------  ドキュメント     | 行(レコード)  -------------------------------------  フィールド       | 列  -------------------------------------   ・データベースの作成  >use study   switched to db study      これだけで、studyというデータベースができました。     > db.stats() {     "db" : "study",     "collections" : 0,     "objects" : 0,     "avgObjSize" : 0,     "dataSize" : 0,     "stora...