「ライブラリなし」と明示して依頼する
最近のプロジェクトではjQueryを使わずバニラJSで実装するケースが増えています。AIへの依頼時に「jQueryやライブラリを使わず、バニラJavaScriptで実装してください」と明示するのが大切です。
プロンプト例(ダークモードトグル)
「バニラJavaScriptでダークモード切り替えを実装してください。
・ボタンクリックで body に .dark-mode クラスをトグルする
・ユーザーの設定を localStorage に保存し、次回訪問時も維持する
・OS設定(prefers-color-scheme)を初期値として使用する
・ES2020以降の構文(const/let・アロー関数・async/await)で書いてください。」
バニラJSで依頼できる実装例
- Intersection Observer:「スクロールで要素が表示エリアに入ったら .is-visible クラスを付与する。」
- コピーボタン:「クリックでテキストをクリップボードにコピーし、’コピーしました’メッセージを2秒表示。」
- 文字カウンター:「テキストエリアの入力文字数をリアルタイム表示。最大200文字で色変化。」
- 画像遅延読み込み:「data-src属性の画像を表示領域に入ったときに読み込むlazyload実装。」
- スクロール進捗バー:「ページ上部にスクロール進捗を示す細いプログレスバーを表示。」
モダンな構文を指定するコツ
「ES2020以降の構文を使ってください。
const/let を使い var は使わないでください。
async/await で非同期処理を書いてください。
アロー関数を使ってください。」
💡 コツ:AIが生成したコードが古い書き方(ES5など)になっていた場合は「ES2020以降の構文に書き直してください」と追加指示するだけで簡単に更新できます。
バニラJSとは?
「バニラJS(Vanilla JS)」とは、「ライブラリやフレームワークを一切使わない、純粋なJavaScript」のことです。
「バニラ(Vanilla)」という言葉は、アイスクリームの標準的なフレーバーであることから、ITの世界では「カスタマイズされていない標準的な状態」を指す隠語として使われています。
あえて便利なフレームワークを使わずに書くことには、大きな利点があります。
- 圧倒的な動作速度: 追加のライブラリを読み込む必要がないため、ダウンロードサイズが小さく、処理が最速です。
- 依存関係がない: ライブラリのバージョンアップによるバグ(破壊的変更)に怯える必要がありません。
- 本質的なスキルの向上: JavaScriptそのものの仕組み(DOM操作やイベント処理など)を深く理解できるようになります。