3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GASエディタでJSDocを書いてみる

Last updated at Posted at 2023-04-13

たまには遊んでみようかと思い記事をφ(❐_❐✧

そもそもGASってJSDoc書けるのって知ってる?

例えば下記のようなfizzBuzzをしてくれる関数があったとします。
コメント部分がJSDocですね。
ちなみにChatGPTに作らせました。

/**
 * 1から指定された数までの数値に対して、フィズバズルールに基づいた文字列を返す。
 * 3の倍数の場合は"Fizz"を、5の倍数の場合は"Buzz"を、3と5の両方の倍数の場合は"FizzBuzz"を返す。
 * それ以外の場合は、その数値を文字列として返す。
 *
 * @param {number} num - フィズバズルールを適用する最大の数値
 * @returns {string[]} - フィズバズルールに基づいた文字列の配列
 */
function fizzBuzz(num) {
  const result = [];
  for (let i = 1; i <= num; i++) {
    if (i % 3 === 0 && i % 5 === 0) {
      result.push("FizzBuzz");
    } else if (i % 3 === 0) {
      result.push("Fizz");
    } else if (i % 5 === 0) {
      result.push("Buzz");
    } else {
      result.push(i.toString());
    }
  }
  return result;
}

この関数を作った状態でfizzBuzzを呼び出すと下記のような形で、
補完 + 引数の型と返り値の型が表示されます。

スクリーンショット 2023-04-14 0.36.41.png

GASエディタを使う場合、とても重宝します。
(VSCodeとかでゴリゴリ書いてる人にとっては当たり前でしょう

ちなみに、ライブラリとしてデプロイするとこんな画面が自動で生成されます。
(正直見辛いので使ってない)
スクリーンショット 2023-04-14 1.07.29.png

ちょっと遊んでみよう

変数に対してもJSDocで型を呼び出せますが、
その前にJSDocを使わない状態だとどうなるのか

constの場合

代入された値が表示されます

スクリーンショット 2023-04-14 0.39.56.png

letの場合

型で表示されます

スクリーンショット 2023-04-14 0.40.07.png

少しいじめてみましょう

typeを使えば型を定義することも可能です。
さっきはconstを使うと値そのものが表示されていましたが、
今はtypeで指定した型stringになっていますね

スクリーンショット 2023-04-14 0.42.33.png

じゃあ次、別の型を入れたらどうなるのか

まず、型を与える前
const age = 12;に対して、ドット演算子を使うと、当然ながらnumberに対してのプロトタイプチェーンが呼び出されます

スクリーンショット 2023-04-14 0.44.13.png

そして、stringを与えてみると、、、
stringに対してのプロトタイプチェーンが表示されます。

当然、stringって言ってるのにnumberじゃないぞ!!
なんて言ってくれません。

スクリーンショット 2023-04-14 0.47.16.png

とはいえ、こんな使い方も当然できるので、
GASエディタだけでGASを記載している人はぜひ、伝わりやすいスクリプトを書いていただけるといいのかなと思います。

スクリーンショット 2023-04-14 0.48.50.png

まとめ

いかがでしたでしょうか。
まぁ私は普段TypeScriptとclasp使って作ってるのでアレですが、
GASをGoogle提供のエディタで書いている方は初心者の方が多いイメージなので、
ちょっとした小話でした。

余談

F1キーや右クリックからコマンドパレットが呼び出せますが、
ハイコントラストの切り替えがありました。

スクリーンショット 2023-04-14 0.52.00.png

微妙(笑)
ちなみに隣のファイルやライブラリペインの色は変わらない。

スクリーンショット 2023-04-14 0.52.56.png

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?