オプションパラメータ
メニューを表示するにはスワイプしてください
関数に可変数のパラメータを渡す必要がある状況が時々あります。例えば、ウェブサイトに登録する際に携帯電話番号の入力を求められることがありますが、これは任意です。この問題には、関数のオーバーロードやケースごとに別の関数を作成するなど、さまざまな解決策があります。しかし、TypeScriptの関数の便利な機能であるオプショナルパラメータについて見ていきましょう。
簡単に言うと、これらは関数に渡す必要のないパラメータです。
例を見てみましょう:
12345678910function register (username: string, password: string, phoneNumber?: number) { if (phoneNumber) { console.log(`New user with username: '${username}', password: '${password}' and phone number: '${phoneNumber}'`); } else { console.log(`New user with username: '${username}' and password: '${password}'`) } } register('Bob', 'qwerty123', 17871233210) register('Alice', '123456789')
上記の関数はユーザーを登録します。username、password、phoneNumberを指定する必要があります。電話番号はオプショナルパラメータです。構文に注目してください:このパラメータを指定する際に、クエスチョンマークを追加します。これは文字通りこのパラメータの存在を問うことを意味します。存在するかもしれないし、しないかもしれません。
関数内では、電話番号が指定されているかどうかを確認します。指定されていれば、電話番号を含めたユーザー情報をコンソールに出力します。指定されていなければ、電話番号なしでユーザー情報を出力します。
また、このユーザーはデータベースに保存する必要がありますが、これはより高度なトピックであり、今後のコースで必ず取り上げます。
次に、オプショナルパラメータの別の使用例を見てみましょう:
123456789101112function greeting(name: string, surname?: string) : string { if (!surname) { return(`Welcome, ${name}`); } else { return(`Welcome, ${surname} ${name}`) } } let first = greeting('Grzegorz', 'Brzęczyszczykiewicz'); let second = greeting('Peter') console.log(first) console.log(second)
この例では、非常にシンプルな挨拶メソッドを作成しています。名字を入力するか省略するかを選択できます。プログラムはどちらの場合でも挨拶を行います。アルゴリズムは明確だと思います。オプションパラメータを指定し、if文でその有無を確認し、それに応じて処理を進めます。
オプションパラメータは非常に便利で頻繁に使用される機能です。なぜなら、関数に渡すすべてのデータが常に必要とは限らないからです。
1. TypeScriptにおけるオプションパラメータの目的は何ですか?
2. TypeScriptの関数シグネチャでオプションパラメータはどのように示されますか?
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください