JavaScript

JavaScript

【JavaScript】指定した要素が一定数以上ある場合にアコーディオンを実装する方法

要素が一定数を超えたときだけ「もっと見る」で折りたたむ方法を解説します。querySelectorAllで件数をチェックし、超過分をdisplay:noneで隠してボタンで開閉。aria-expandedの更新、max-heightでの開閉アニメーション、動くデモまで紹介します。
JavaScript

【JavaScript】Intersection Observerを使った画像の遅延読み込み方法

Intersection Observerで画像の遅延読み込み(Lazy Load)を実装する方法を解説します。data-src+srcの差し替え、読み込み後のフェードイン、unobserveでの監視解除、rootMarginで画面手前から先読みする方法、読み込み失敗時の対処まで、まずはネイティブのloading="lazy"を検討する前提で紹介します。
JavaScript

【JavaScript】createDocumentFragment() を使った複数要素の効率的な追加方法

createDocumentFragment()で複数の要素を効率的にDOMへ追加する方法を解説します。リフローを減らす仕組み、リストや異なる要素のまとめて追加、モダンなappend(...nodes)での複数追加、innerHTML/insertAdjacentHTMLとの使い分けまで、実例で紹介します。
JavaScript

【JavaScript】初回訪問時のみ要素を表示する方法

初回訪問時だけウェルカムメッセージなどを表示する方法を、localStorageを使って解説します。訪問済みフラグでの判定、removeItemでのリセット、タイムスタンプで「N日後にまた表示」する方法、localStorage・sessionStorage・Cookieの使い分けまで、実例で紹介します。
JavaScript

【JavaScript】ドロップダウンメニューを作る方法

JavaScriptでドロップダウンメニューを作る方法を、アクセシビリティに配慮した実装で解説します。button+classList.toggleでの開閉、aria-expandedの更新、メニュー外クリックやEscapeで閉じる処理、displayは直接アニメできないためmax-height/opacityでフェードさせる方法まで、動くデモ付きで紹介します。
JavaScript

【JavaScript】breakでループ処理を中断させる方法

JavaScriptのbreak文でループを途中で中断する方法を解説します。for/whileでの基本、値が見つかったら抜ける使い方、continueとの違い(スキップvs中断)、forEachではbreakできない理由と代替(for-of・some・find)、ネストしたループを一気に抜けるラベル付きbreakまで、Nodeで動作確認したコードで紹介します。
JavaScript

【JavaScript】getElementsByClassNameで取得した要素にforEachループ処理を行う方法

getElementsByClassNameはHTMLCollectionを返すため直接forEachが使えません。Array.fromやスプレッド構文・querySelectorAllへの切り替えなど4つの解決方法を解説します。
JavaScript

【JavaScript】ハンバーガーメニューの作り方

ハンバーガーメニューの作り方を、アクセシビリティに配慮した実装で解説します。button要素+classList.toggleでの開閉、3本線→×のアニメーション、aria-expandedの更新、メニュー外クリックやEscapeキーで閉じる処理まで、動くデモ付きで紹介します。
JavaScript

【JavaScript】IntersectionObserverを使って複数要素にスクロールイベントを設定する方法

IntersectionObserverで複数要素のスクロール監視を行う方法を解説します。コールバックとオプション(threshold・rootMargin・root)、querySelectorAllでの複数監視、一度だけ発火させるunobserve、scrollイベントより高速な理由まで、フェードインや遅延読み込みへの活用例とあわせて紹介します。
JavaScript

【JavaScript】要素をふわっとフェードインさせる方法

要素をふわっとフェードインさせる方法を、現代的なCSSのtransitionとWeb Animations API(element.animate)で解説します。クラス付与でフェードイン、読み込み時の実行、prefers-reduced-motionでの配慮、setIntervalの手動アニメを避ける理由まで、動くデモ付きで紹介します。
JavaScript

【JavaScript】指定した時間に処理を行う方法

JavaScriptで指定した時刻に処理を実行する方法を解説します。目標時刻までの差分をsetTimeoutで実行する確実な方法、毎秒ポーリングを避ける理由、毎日決まった時刻に実行する再スケジュール方式、setTimeoutの最大遅延(約24.9日)やバックグラウンドタブのスロットリングといった注意点、タイムゾーンの考慮まで、Nodeで動作確認したコードで紹介します。
JavaScript

【JavaScript】外部からiframe内のスクロール位置を操作する方法

外部のページからiframe内のスクロール位置を操作する方法を解説します。同一オリジンならiframe.contentWindow.scrollTo()で直接スクロール、読み込み完了(onload)を待つ点、クロスオリジンは直接操作できずpostMessageでiframe側に依頼する方法、同一オリジンの確認まで紹介します。
JavaScript

【JavaScript】match()メソッドで文字列パターンを簡単に検索する方法

JavaScriptのmatch()メソッドで正規表現に一致する部分を検索する方法を解説します。基本の使い方とnull対策、/gフラグで全マッチ、キャプチャグループ(名前付き・index)、そして「/gを付けるとグループが消える」最大の落とし穴とmatchAll、match/exec/matchAll/testの使い分けまで、Nodeで動作確認したコードで紹介します。
JavaScript

【JavaScript】try-catch文を使ったエラーハンドリングの基本

JavaScriptのtry-catch文によるエラーハンドリングを基本から解説します。try/catch/finallyの構文、throwで自分でエラーを投げる方法、instanceofでのエラー種別の判定、async/awaitでのエラー処理、setTimeout内など「捕まえられないエラー」の注意点まで、Nodeで動作確認したコードで紹介します。
JavaScript

【JavaScript】配列に要素を追加する方法

JavaScriptで配列に要素を追加する方法を、破壊的(元を変更)か非破壊的(新配列)かの軸で整理して解説します。push/unshift/spliceと、spread/concat、ES2023のtoSplicedの違い、位置・戻り値の比較表まで、Nodeで動作確認したコードで紹介します。
JavaScript

【JavaScript】特定の文字に挟まれた文字列を取得する方法

特定の文字に挟まれた文字列を取得する方法を、正規表現のmatchとmatchAllで解説します。グループ取得(match[1])、.*?と[^...]+の改行をまたぐ/またがない違い、複数すべての取得、クォート・括弧・【】・異なる目印への対応、正規表現を使わないindexOf+sliceまで、Nodeで動作確認したコードで紹介します。
JavaScript

【JavaScript】JSONファイルの読み込み方

JavaScriptでJSONファイルを読み込む方法を、現在の正しいやり方で解説します。ブラウザはfetch+async/await、ローカルファイルはサーバー経由が必要な点、importは with { type: "json" }(assertは廃止)、Node.jsはfs/promisesやrequire。非推奨の同期XHRを使わない理由まで紹介します。
JavaScript

【JavaScript】URLのパラメータを引き継ぐ方法

JavaScriptで現在のURLパラメータを別ページへ引き継ぐ方法を解説します。全部引き継ぐならlocation.searchを付けるだけ、遷移先にクエリがある場合はnew URLで安全にマージ。一部だけ引き継ぐ、リンク(aタグ)に引き継ぐ、書き換えてから引き継ぐパターンまで、Nodeで動作確認したコードで紹介します。
JavaScript

【JavaScript】月末日をYYYY/MM/DD形式で取得する方法

JavaScriptで月末日(その月の最終日)を取得する方法を、定番イディオム new Date(year, month, 0) で解説します。人間の月(1〜12)で直感的に書く方法、YYYY/MM/DD形式へのフォーマット、.getDate()での月の日数取得(うるう年も自動)、今月の月末日まで、Nodeで動作確認したコードで紹介します。
JavaScript

【JavaScript】改行を削除・置換する方法

JavaScriptで文字列の改行を削除・置換する方法を、replaceと正規表現で解説します。CRLF/LF/CR全形式への対応、スペースやカンマへの置換、「連続改行をまとめる」か「1つずつ置換する」かの違い、空行のまとめ・前後空白のトリム、replaceAllの落とし穴まで、Nodeで動作確認したコードで紹介します。