引数も取らないreturnもしない関数のJSDocは@functionだけでOKである

brown tabby cat on wooden windsor chair

引数も取らず、returnもしない関数の場合は「@function」だけで大丈夫です。

ChatGPT

前回修正した「displayError」関数の最後に、「updateAddressDisplay」への呼び出しがあったので、今回はこの関数の整理を行う。

まずはコードだ。

JavaScript
        function updateAddressDisplay() {
            let baseAddress = mainAddressString; // ベース住所を定義

            // block_lot, building, room をベース住所に追加
            if (currentBlockLot) {
                baseAddress += currentBlockLot;
            }
            if (currentBuilding) {
                baseAddress += currentBuilding;
            }
            if (currentRoom) {
                baseAddress += ' ' + currentRoom;
            }

            // address(日本語住所)のテキストを更新
            document.getElementById('address').textContent = baseAddress.trim();
        }

関数名でわかるように、これは画面上での住所表示を更新する関数だ

2行目の「mainAddressString」は、スクリプトの冒頭で定義したグローバル変数(下記コード参照)で、郵便番号から取得した住所、つまり都道府県+市区町村+町域を含めた住所のことだ。これを「updateAddressDisplay」内では「baseAddress」に代入している。

JavaScript
    <script>
        let mainAddress = '';
        let mainAddressString = ''; // メイン住所(postal_codeで取得)
        let currentBlockLot = '';
        let currentBuilding = '';
        let currentRoom = '';

5行目以降は、現在入力されている番地、建物名、部屋番号をそれぞれベース住所に追記している。「currentBlockLot」などは上記の通り、これらもグローバル変数で、まだ整理していない別の関数内で、フォーム要素から値を取っている。

番地、建物名、部屋番号のどれかが欠けていてもいいし、全部欠けても大丈夫。いずれ「baseAddress」が出来上がる。

そして16行目で画面上の「address」要素、つまり日本語住所が表示される下記のエリアのことだが、に、ベース住所こと「baseAddress」を反映する。

住所変換機の日本語住所エリア

この関数については修正したいところがないので、JSDocコメントだけChatGPTに頼もうと思う

ChatGPTにupdateAddressDisplay関数にJSDocコメントを作ってもらう
ChatGPTがupdateAddressDisplay関数に英語のJSDocを作ってくれる

突拍子もない形で期待を裏切るのがChatGPTの可愛いところ。なにゆえこの長大な英文のコメントをつけてくれたのだ。そのように頼んでいないはず。

また「@function」だけというのも気になる。いつもは引数を渡したり、Returnさせたりしているのでそういうものが書かれるが、もしかしてこの関数にそういうものがないから「@function」だけになっているのか?

引数もリターンもない関数のJSDocについてChatGPTに質問
引数もリターンもない関数のJSDocについてChatGPTが回答

引数も取らず、returnもしない関数の場合は「@function」だけでいいそうだ。また新しい知識を身につけることができた。

今回は以上だ。