見出し画像

いよいよ関数に突入です! GAS

軽かった足取りが…

こんにちは。サキナオコです!^^
今日もものすごい暑さですね。
スリッパを洗って干したらかんぴょうみたいになりました!

いつもご覧いただき、スキ、フォロー、コメントまでたくさん、
本当にほんとうにどうもありがとうございます!*^o^*
また今日進む気合をいただきました!^o^/

さて、いよいよ関数です。
だいたいわかるかなあ、という感じですが…まぁいってみましょう!

知らなかったこと。

あ、へええ。同じプロジェクト内であれば別のgsファイルに記述した関数も呼び出すことができるのですね。いいですね!

変数の後ろにアンダースコアをつけるとプライベート関数にできて、「実行する関数を選択」のプルダウンに表示されなくなるようです。プロジェクト外から見えなくなり、呼び出せなくなるそうです。

全部の関数にアンダースコアをつけたらエラーになってしまいました。
どれかは表示させないとダメというのがわかりました。

はい、そしておなじみのreturnも出てきました。

あれ?先にreturnが入っている関数の前に実引数を書いている?
なんか、ザワザワします。

function myArea() {
 console.log(`長方形の面積:${calcArea_(3,4)}`);
}
function calcArea_(x,y){
 return x*y;
}
// >>長方形の面積:12

いいんだ?これ。
どうしても気持ちが悪いので、関数を逆にして実行しました。同じ結果となりました。だったら逆の方が気持ち的にしっくりきます。

まぁ、でも先に実引数書いていいんですね。ちょっとびっくり。

びっくりを引きずりながら、デフォルト引数と剰余引数に入ります。デフォルト引数は知ってる感じでしたが、剰余引数は知りませんでした。

関数に任意の数の引数を渡したい時、受け取った引数のうち余った引数を用意した配列の要素として受け取るんだそうで、余った引数を順番に配列にすると。…なるほど、何か役に立ちそうな技ですね。

その他、値渡しと参照渡し。
値渡しは数値、文字列、真偽値などのプリミティブ値を引数に指定した場合値を複製して関数に渡すので、メモリ上の別の場所に複製される。だから元の値は変わらない。

参照渡しはオブジェクト、配列を引数に指定した場合、そのメモリ上の同じ場所(参照値)を渡すから値が変わる。
呼び出し関数外、呼び出し元でも有効らしいです。なにやら重要そうですね。

次。ドキュメンテーションコメントは関数を部品化して使いたい場合のコメント用なのですね。普通のコメントと差別化するためなのでしょうか。

引数や戻り値がどういうものかなどを記述、その記述法が定められていると。@param @return @customfunction とか、/**~~*/中に記述するようです。う〜ん。そうですか。習慣づけた方が良いのですね。ちょっと修行が必要そうです。

昨日の走りが足の付け根を直撃しています。
今日はこれまで。ではまた〜^^




この記事が気に入ったらサポートをしてみませんか?