戻り値console.log();typeof演算子それでは、prompt関数を使って、閲覧者から西暦の値を受け取るプログラムを書いてみましょう。下記のコードですが、未完成のコードです。試しに実行してみても構いません。warekiの初期値である0が表示されるでしょう。※初期値とは、閲覧者が何も変更を加えなかった場合に表示される(プログラマーによって初めに設定されている)値のことです。?alert(wareki);【code:004_01】プログラムを作っていると、「この部分は後で作ろう」「現時点ではどんなコードを書くか決まっていない」という箇所が発生します。そのような場面では、前章で学習したコメントを活用します。後で作ろうとしている箇所にスラッシュを2つ追加し「//後で作ろう」とコメントすることで、プログラムの書き忘れを防ぐことが出来ます。」とコメントをいれていますが、これはプログラムの製作者が「後でなにかコードを追加しよう」という意味でハテナをコメントしています。前章でも学習した変数宣言が2行目に書かれています。seireki」ですが、これは「seirekiという変数を使用します」という意味でしたね。「これからseirekiという変数を使ってこのコンピュータのメモリを使用しますよ」と宣言しています。プログラミング言語によって若干ルールが違いますが、変数を宣言するということは、メモリに変数の領域を確保することを意味します。メモリ領域は初期化して何かしらの値を入れておかないと、過去に動いていたプログラムに使用された情報が残っている場合があります。自分で書いたプログラムが意図しない動きをしない為にも、何かしらの値を初期値として代入しておきましょう。JavaScriptの場合、変数宣言した際にundefinedという、未定義を意味する値があらかじめ代入されています。このundefinedは数値ではないので、このままでは数値計算ができません。計算させたい場合は0を初期値として代入しておくと間違いがないでしょう。0;」と0を代入したのは、このためです。第2章では詳しく説明しませんでしたが、5行目にNumber関数が使われています。Number関数は、入力した値を文字列から数値へと変換する関数です。1行目を見てみましょう。変数seirekiにはprompt関数で閲覧者から取得した文字列が代入されています。この状態だと閲覧者が数字を入力したとしても、Number関数を使わない限りプログラム内では数字も文字列として認識しています。次に5行目を見てみましょう。Number関数のカッコ内に、変数seirekiを引数(ひきすう)として渡しています。閲覧者が2018と入力したと仮定しましょう。文字列”2018′′の値を数値に変換して、変数seirekiへ代入しています。Number関数を使ったことにより”2018′′は文字列から数値へ変換されました。これで”2018′′は計算に使用できる数値としてコンピュータに認識されます。このように関数そのものが、値を返す性質のものがあります。この値のことを返り値(かえりち)または、戻り値(もどりち)と呼びます。※デツクルでは「戻り値」と呼び解説します。戻り値プログラムは、人間がキーボードやマウスで入力した値を記憶装置で受け取り、それをディスプレイやプリンタに出力して表示していましたね。実は関数もプログラムと同様に、値を入力値として受け取り、出力する機能を持っています。入力値として関数が受け取る値のことを引数(ひきすう)と呼び、出力値として関数が返す値のことを戻り値と呼びます。今回であれば、2行目prompt関数のカッコ内が入力値で、5行目Number関数で数値に変換され、変数seirekiに代入された値が戻り値になります。Number関数ちょっとわかりにくいですが、図示するとこのようになります。Number関数は、文字列”2018′′を引数として受け取り、数値2018を戻り値として返しています。ダブルクォーテーションが外れて数値が返っていることがわかるでしょうか。戻り値と引数の部分を<>で表現すると以下のようになります。Number(<引数>);」くどいようですが再度解説しますね。関数では、カッコで囲った値が引数と呼ばれ、返ってくる値が戻り値です。戻り値は変数などに代入することができます。prompt関数の場合も同様に値を受け取っていますが、引数が2つあります。prompt関数1つ目の引数を第一引数(だいいちひきすう)、2つ目の引数を第二引数(だいにひきすう)と呼んで区別します。N引数と増えていきます。コード内では第一引数と第二引数の間に「,」カンマが書かれていましたが、これが引数を区別するための仕切りになっています。戻り値は必ず1つです。prompt(<第一引数>,<第二引数>);」こういうことです。勘の良い方は気づいていたかもしれませんが、prompt関数の第一引数には、閲覧者に入力をお願いする言葉”西暦を入力してください”と文字列を入れています。第二引数には、閲覧者が何も変更を加えなかった場合に表示される初期値としての文字をいれています。このように、用途に合わせて関数が受け取る引数の個数は変わるということも覚えておきましょう。console.log()ここで唐突ではありますが、console.log(コンソールログ)について解説します。この関数は、コードを実行した時の結果を画面(コンソール)に文字で返します。プログラム実行中に変数の中身を見てみたい時に使用する関数です。文字列をコンソールログで表示させることも出来ます。今回の章あたりからコードが複雑になってきたので、コンソールログを使って変数の中身を確認していきましょう。変数に代入を繰り返すことで、変数の中身が文字型なのか数値型なのか、よくわからなくなる時があります。そのような時はtypeof演算子(タイプオブエンザンシ)を使用します。これは変数のデータ型を文字列で返してくれる便利な演算子です。※一般的に「演算子」といえば数式に使う計算記号を指しますが、プログラミングにおいての演算子は、数学の演算子とは異なります。それでは下記のコードを見てみましょう。先ほどのcode:004_001に、console.logを使って変数の値を出力する処理を4行加えたものです。