【入門編】 JSDocによる型キャスト(Type Casting) – JavaScript実践ガイド

こんにちは!フロントエンドの現場を渡り歩いているチーフアーキテクトの私です。

JavaScriptを書いていると、突然の「あれ、この変数の中身なんだっけ?」「IDE(コードエディタ)が補完してくれないんだけど!」という罠にハマること、ありませんか?特にTypeScriptを導入するほどでもない小〜中規模の開発や、ちょっとしたスクリプトを書くときに、このモヤモヤはよくやってきます。

「TypeScriptは難しそうだけど、JavaScriptのままでもう少しコードを賢く書きたい……」
そんなあなたにこそ知ってほしいのが、今回お話しする「JSDoc(ジェイエスドック)による型キャスト」です。

難しい専門用語はなるべく置いておいて、身近な例えを交えながら、一緒に紐解いていきましょう。大丈夫、一歩ずつ見ていけば必ず「なるほど!」と思えるようになりますよ。

—

1. JavaScriptの「自由さ」は、時にちょっとしたおせっかい?

JavaScriptって、すごく自由で優しい言語ですよね。どんなデータでも、一つの変数にポイッと入れられちゃいます。

例えば、お買い物カゴをイメージしてください。
最初は「りんご(文字)」を入れていたカゴに、次の瞬間「3個(数字)」を放り込んでも、JavaScriptは「いいよー、好きにして!」と怒りません。

let shoppingCart = “りんご”; // 最初は文字列
shoppingCart = 3; // 数値に上書きしてもエラーにならない!

この「何でも入れられる優しさ」が、ときどき私たちを困らせます。プログラムが長くなってくると、「あれ? 今このカゴの中に入っているのは、文字だっけ? それとも数字だっけ?」と分からなくなってしまうんです。

そして、VS Codeなどのエディタ(IDE)も、中身が分からないものだから、「次の操作はどうすればいいですか?」と親切な補完(メニュー)を出してあげられなくなってしまいます。

—

2. そこで登場するのが「JSDoc」という名札(型キャスト)

ここで登場するのが、JSDocという仕組みです。
難しく考えず、「変数に持たせる『専用の名札』」だと思ってください。

コメント(`/ … /`)の中に、`/ @type {型} /` と書くだけで、JavaScriptという自由な世界の中に、こっそり「ルール」を作ることができます。これが今回のテーマである「型キャスト(型強制)」の正体です。

お買い物カゴの例で見てみましょう。

/ @type {number} /
let shoppingCart;

// ここで「やっぱり文字を入れようとすると……」
shoppingCart = “りんご”; // エディタが「おいおい、ここは数字を入れる約束でしょ!」と優しく警告してくれる

このように、コメントで `@type {number}` と書いておくだけで、エディタは「あ、この変数は数字なんだな」と理解します。すると、エディタの補完機能が劇的に賢くなり、数字で使える便利な機能(計算など)をズラッと提案してくれるようになるんです。

—

3. 実務でよくあるつまずきポイント:「DOM要素」の取得

Web制作やフロントエンド開発で、一番「型が分からなくて困った!」となる瞬間が、HTMLの要素をJavaScriptで取得するときです。

例えば、画面にあるボタン(`

コメント

タイトルとURLをコピーしました