
プログラミングにおける関数の実装に大切な知識2選。
この記事では、将来プログラミングをできるようになるために、プログラムについて学んだ知識を解説していく記事です。
今日学んだプログラミングの知識。
関数の実装。
Tips JSDoc とインタフェース。
関数の実装。
JavaScript の関数の実装をしてみます。
名前を入力すると診断結果が出力される関数
入力が同じ名前なら、
同じ診断結果を出力する処理
診断結果の文章のうち名前の部分を、入力された名前に置き換える処理
このような要件なので、まず最初は処理の中身は置いておいて、その関数の形から用意してみます。
assessment.js に追記していきます。
/**
* 名前の文字列を渡すと診断結果を返す関数
* @param {string} userName ユーザの名前
* @return {string} 診断結果
*/
function assessment(userName) {
// TODO 診断処理を実装する
return '';
}
assessment.jsPlease Type!
このように記述します。
今回、関数の上に書かれているコメントは、 JSDoc と呼ばれる形式のコメントの書き方です。
このコメントは直下の assessment「userName」という関数を説明しています。
詳しく見ていくと、
/**
* 名前の文字列を渡すと診断結果を返す関数
* @param {string} userName ユーザの名前
* @return {string} 診断結果
*/
となります。
最初の行は、「関数の処理内容」を説明しています。
2 行目の @param は関数の「引数」を表します。引数は英語で parameter「パラメータ」といいます。
2 行目の userName は「引数の名前」を表します。
3 行目の @return は関数の「戻り値」のことで、戻り値のことを return value といいます。
2 行目と 3 行目の {string} は値の型が「文字列(string)型」であることを意味しています。
ここで 型 とは、値の種類のことです。JavaScript の型には数値、文字列、真偽値などがあります。
つまり、この JSDoc という形式のコメントは、「関数 assessment(userName) の引数が文字列で、戻り値も文字列」
ということを表しています。
Tips JSDoc とインタフェース。
ここで扱ったように、関数の内部の処理と、外部からの入力や外部への出力「ここでは引数と戻り値」を定義している「内外の境界」のことを インタフェース と呼びます。
JavaScript は「変数の型の情報をソースコードに書かない言語」であり、インタフェースを明らかにするためには、このようにコメントで明示する必要があります。
一方、JavaScript の仲間の TypeScript という言語のように、ソースコードの中に型の情報を書ける言語もあります。
JSDoc の記述方法は DevDocs というサイトで使い方が解説されていますが、 Google などで「JSDoc 書き方」などと検索すると日本語の解説サイトも沢山あるので、参考にしてみると良いです。
まとめ
今回はプログラミングの関数の実装における大切なことを解説していきました。
このようなプログラミングの解説などは、一つの記事を見るよりも沢山の記事を読み、やり方を模索することが大切だと今日改めて分かりました。
上記の記事ではプログラミングに関しての事だけを解説していますが、このような気づきもこれからは意識していきたいです、