CURRICULUM / APPENDIX C
付録C ─ JavaScriptよく使われる関数一覧
JavaScriptの主要な組み込み関数・メソッドを、用途別にまとめたリファレンスです。
本編で使ったものには、該当する章へのリンクを添えています。
全てを暗記する必要はありません。「こういう関数がある」と知っておけば、必要なときに調べられます。
DOM操作 ─ 要素の取得
| 関数 / メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
document.getElementById() |
id属性で要素を1つ取得する | document.getElementById("msg") |
01-04 |
document.querySelector() |
CSSセレクタに一致する最初の要素を取得する | document.querySelector(".btn") |
|
document.querySelectorAll() |
CSSセレクタに一致する全要素をNodeListで取得する | document.querySelectorAll("li") |
|
document.getElementsByClassName() |
クラス名で要素を取得する(HTMLCollectionを返す) | document.getElementsByClassName("item") |
|
document.getElementsByTagName() |
タグ名で要素を取得する | document.getElementsByTagName("p") |
DOM操作 ─ 要素の作成・追加・削除
| 関数 / メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
document.createElement() |
新しいHTML要素を作成する | document.createElement("div") |
|
element.appendChild() |
子要素として末尾に追加する | parent.appendChild(child) |
|
element.append() |
子要素やテキストを末尾に追加する(複数可) | parent.append(child, "テキスト") |
|
element.remove() |
要素自身をDOMから削除する | el.remove() |
|
element.insertBefore() |
指定した子要素の前に新しい要素を挿入する | parent.insertBefore(newEl, refEl) |
|
element.cloneNode() |
要素を複製する。trueで子要素ごと複製 |
el.cloneNode(true) |
DOM操作 ─ 属性・テキスト・スタイル
| プロパティ / メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
element.textContent |
要素内のテキストを取得・設定する(HTMLタグは解釈されない) | el.textContent = "こんにちは" |
01-04 |
element.innerHTML |
要素内のHTMLを取得・設定する。XSSの原因になりやすいので要注意 | el.innerHTML = "<b>太字</b>" |
02-03 |
element.getAttribute() |
属性値を取得する | el.getAttribute("href") |
|
element.setAttribute() |
属性値を設定する | el.setAttribute("disabled", "") |
|
element.removeAttribute() |
属性を削除する | el.removeAttribute("disabled") |
|
element.classList.add() |
クラスを追加する | el.classList.add("active") |
|
element.classList.remove() |
クラスを削除する | el.classList.remove("active") |
|
element.classList.toggle() |
クラスの有無を切り替える | el.classList.toggle("open") |
|
element.classList.contains() |
指定クラスを持っているかを判定する | el.classList.contains("active") |
|
element.style |
インラインスタイルを取得・設定する | el.style.color = "red" |
|
element.closest() |
自身を含む祖先から、セレクタに一致する最も近い要素を返す | el.closest(".wrapper") |
|
element.value |
フォーム入力欄の値を取得・設定する | input.value |
イベント
| 関数 / メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
element.addEventListener() |
イベントリスナーを登録する | btn.addEventListener("click", fn) |
01-04 |
element.removeEventListener() |
登録済みのイベントリスナーを解除する | btn.removeEventListener("click", fn) |
|
event.preventDefault() |
イベントのデフォルト動作(フォーム送信、リンク遷移等)を止める | e.preventDefault() |
|
event.stopPropagation() |
イベントの親要素への伝播を止める | e.stopPropagation() |
|
event.target |
イベントが発生した要素を参照する | e.target.value |
|
DOMContentLoaded |
HTMLの解析完了後に発火するイベント。DOM操作のタイミング制御に使う | document.addEventListener("DOMContentLoaded", fn) |
01-07 |
ダイアログ
| 関数 | 役割 | 使用例 | 本編 |
|---|---|---|---|
alert() |
メッセージダイアログを表示する | alert("注意!") |
02-03 |
confirm() |
OK/キャンセルの確認ダイアログを表示する | if (confirm("削除しますか?")) { ... } |
|
prompt() |
テキスト入力付きダイアログを表示する | const name = prompt("名前は?") |
コンソール
| メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
console.log() |
開発者コンソールに値を出力する | console.log("値:", x) |
01-04, 01-07 |
console.error() |
エラーメッセージを出力する(赤色で表示される) | console.error("失敗:", err) |
|
console.warn() |
警告メッセージを出力する(黄色で表示される) | console.warn("非推奨です") |
|
console.table() |
配列やオブジェクトをテーブル形式で表示する | console.table(users) |
文字列(String)
| メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
.length |
文字列の文字数を返す | "hello".length // 5 |
|
.trim() |
先頭と末尾の空白を除去する | " abc ".trim() // "abc" |
|
.includes() |
指定文字列が含まれるかを判定する | "abc".includes("b") // true |
|
.indexOf() |
指定文字列の位置を返す(見つからなければ-1) | "abc".indexOf("c") // 2 |
|
.slice() |
文字列の一部を切り出す | "hello".slice(1, 3) // "el" |
|
.substring() |
文字列の一部を切り出す(.slice() と似ているが負の値を扱えない) |
"hello".substring(0, 3) // "hel" |
|
.replace() |
最初に一致した文字列を置換する | "abc".replace("a", "x") // "xbc" |
|
.replaceAll() |
一致した全ての文字列を置換する | "aaa".replaceAll("a", "b") // "bbb" |
|
.split() |
区切り文字で文字列を配列に分割する | "a,b,c".split(",") // ["a","b","c"] |
|
.toUpperCase() |
全て大文字に変換する | "abc".toUpperCase() // "ABC" |
|
.toLowerCase() |
全て小文字に変換する | "ABC".toLowerCase() // "abc" |
|
.startsWith() |
指定文字列で始まるかを判定する | "hello".startsWith("he") // true |
|
.endsWith() |
指定文字列で終わるかを判定する | "hello".endsWith("lo") // true |
|
.padStart() |
指定の長さになるまで先頭を埋める | "5".padStart(2, "0") // "05" |
|
.repeat() |
文字列を指定回数繰り返す | "ab".repeat(3) // "ababab" |
テンプレートリテラル
| 構文 | 役割 | 使用例 | 本編 |
|---|---|---|---|
`...${式}...` |
バッククォートで囲み、${} 内に式や変数を埋め込める文字列 |
`合計: ${price * qty}円` |
数値(Number)・算術
| 関数 / メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
parseInt() |
文字列を整数に変換する | parseInt("42") // 42 |
|
parseFloat() |
文字列を小数に変換する | parseFloat("3.14") // 3.14 |
|
Number() |
値を数値に変換する | Number("100") // 100 |
|
isNaN() |
値が NaN(非数)かを判定する | isNaN("abc") // true |
|
Number.isInteger() |
値が整数かを判定する | Number.isInteger(3.0) // true |
|
.toFixed() |
小数点以下の桁数を指定して文字列に変換する | (3.14159).toFixed(2) // "3.14" |
|
Math.max() |
引数の中で最大の値を返す | Math.max(1, 5, 3) // 5 |
01-04 |
Math.min() |
引数の中で最小の値を返す | Math.min(1, 5, 3) // 1 |
|
Math.floor() |
小数を切り捨てる(整数に) | Math.floor(3.9) // 3 |
|
Math.ceil() |
小数を切り上げる | Math.ceil(3.1) // 4 |
|
Math.round() |
小数を四捨五入する | Math.round(3.5) // 4 |
|
Math.random() |
0以上1未満のランダムな小数を返す | Math.floor(Math.random() * 10) |
|
Math.abs() |
絶対値を返す | Math.abs(-7) // 7 |
配列(Array)
| メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
.length |
配列の要素数を返す | [1,2,3].length // 3 |
|
.push() |
末尾に要素を追加する | arr.push("新しい値") |
|
.pop() |
末尾の要素を削除して返す | const last = arr.pop() |
|
.unshift() |
先頭に要素を追加する | arr.unshift("先頭") |
|
.shift() |
先頭の要素を削除して返す | const first = arr.shift() |
|
.splice() |
指定位置で要素を削除・挿入する | arr.splice(1, 2) // index 1から2個削除 |
|
.slice() |
配列の一部をコピーして返す(元の配列を変更しない) | arr.slice(0, 3) |
|
.concat() |
配列同士を結合した新しい配列を返す | [1,2].concat([3,4]) // [1,2,3,4] |
|
.includes() |
指定値が含まれているかを判定する | [1,2,3].includes(2) // true |
|
.indexOf() |
指定値の最初の位置を返す(見つからなければ-1) | ["a","b"].indexOf("b") // 1 |
|
.find() |
条件に一致する最初の要素を返す | arr.find(x => x > 3) |
|
.findIndex() |
条件に一致する最初のインデックスを返す | arr.findIndex(x => x > 3) |
|
.forEach() |
各要素に対して関数を実行する(戻り値なし) | arr.forEach(x => console.log(x)) |
|
.map() |
各要素を変換した新しい配列を返す | [1,2,3].map(x => x * 2) // [2,4,6] |
|
.filter() |
条件に一致する要素だけの新しい配列を返す | [1,2,3].filter(x => x > 1) // [2,3] |
|
.reduce() |
全要素を1つの値に集約する | [1,2,3].reduce((sum, x) => sum + x, 0) // 6 |
|
.sort() |
配列を並べ替える(元の配列を変更する) | arr.sort((a, b) => a - b) |
|
.reverse() |
配列の順序を逆にする(元の配列を変更する) | arr.reverse() |
|
.join() |
全要素を区切り文字で結合して文字列にする | ["a","b","c"].join("-") // "a-b-c" |
|
.every() |
全要素が条件を満たすかを判定する | [2,4,6].every(x => x % 2 === 0) // true |
|
.some() |
いずれかの要素が条件を満たすかを判定する | [1,2,3].some(x => x > 2) // true |
|
.flat() |
ネストされた配列を平坦にする | [[1,2],[3]].flat() // [1,2,3] |
|
Array.isArray() |
値が配列かどうかを判定する | Array.isArray([1,2]) // true |
|
Array.from() |
配列風オブジェクトやNodeListを配列に変換する | Array.from(nodeList) |
|
スプレッド構文 |
配列を展開してコピーや結合に使う | [...arr1, ...arr2] |
オブジェクト(Object)
| メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
Object.keys() |
オブジェクトのキーを配列で返す | Object.keys({a:1, b:2}) // ["a","b"] |
|
Object.values() |
オブジェクトの値を配列で返す | Object.values({a:1, b:2}) // [1, 2] |
|
Object.entries() |
キーと値のペアを配列の配列で返す | Object.entries({a:1}) // [["a",1]] |
|
Object.assign() |
オブジェクトを結合(コピー)する | Object.assign({}, obj1, obj2) |
|
スプレッド構文 |
オブジェクトを展開してコピーや結合に使う | {...obj, newKey: "値"} |
JSON
| メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
JSON.stringify() |
JavaScriptの値をJSON文字列に変換する | JSON.stringify({a: 1}) // '{"a":1}' |
|
JSON.parse() |
JSON文字列をJavaScriptの値に変換する | JSON.parse('{"a":1}') // {a: 1} |
日付(Date)
| メソッド / コンストラクタ | 役割 | 使用例 | 本編 |
|---|---|---|---|
new Date() |
現在日時のDateオブジェクトを作成する | new Date() |
|
Date.now() |
現在のタイムスタンプ(ミリ秒)を返す | Date.now() |
|
.getFullYear() |
年(4桁)を返す | new Date().getFullYear() // 2026 |
|
.getMonth() |
月を返す(0〜11。1月が0) | new Date().getMonth() // 3 (4月) |
|
.getDate() |
日を返す | new Date().getDate() |
|
.getDay() |
曜日を返す(0〜6。日曜が0) | new Date().getDay() |
|
.toLocaleDateString() |
ロケールに合わせた日付文字列を返す | new Date().toLocaleDateString("ja-JP") |
|
.toISOString() |
ISO 8601形式の文字列を返す | new Date().toISOString() |
タイマー
| 関数 | 役割 | 使用例 | 本編 |
|---|---|---|---|
setTimeout() |
指定ミリ秒後に関数を1回実行する | setTimeout(() => alert("3秒"), 3000) |
|
clearTimeout() |
setTimeout をキャンセルする |
clearTimeout(timerId) |
|
setInterval() |
指定ミリ秒ごとに関数を繰り返し実行する | setInterval(() => tick(), 1000) |
|
clearInterval() |
setInterval をキャンセルする |
clearInterval(intervalId) |
非同期通信(Fetch API)
| 関数 / メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
fetch() |
HTTPリクエストを送り、レスポンスをPromiseで返す | fetch("/api/data") |
|
response.json() |
レスポンス本文をJSONとしてパースする | res.json() |
|
response.text() |
レスポンス本文をテキストとして取得する | res.text() |
|
response.ok |
ステータスコードが200〜299かを判定する | if (!res.ok) throw new Error(...) |
Promise・非同期制御
| 構文 / メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
.then() |
Promiseが成功したときの処理を登録する | fetch(url).then(res => res.json()) |
|
.catch() |
Promiseが失敗したときの処理を登録する | .catch(err => console.error(err)) |
|
.finally() |
成功・失敗にかかわらず最後に実行する処理を登録する | .finally(() => setLoading(false)) |
|
async / await |
Promiseを同期的に書けるようにする構文 | const data = await fetch(url) |
|
Promise.all() |
複数のPromiseを並行実行し、全て完了するのを待つ | Promise.all([p1, p2]) |
型の判定・変換
| 演算子 / 関数 | 役割 | 使用例 | 本編 |
|---|---|---|---|
typeof |
値の型を文字列で返す | typeof 42 // "number" |
|
String() |
値を文字列に変換する | String(123) // "123" |
|
Boolean() |
値を真偽値に変換する | Boolean("") // false |
|
.toString() |
値を文字列に変換する | (255).toString(16) // "ff" |
エラー処理
| 構文 | 役割 | 使用例 | 本編 |
|---|---|---|---|
try { } catch (e) { } |
エラーが発生しても処理を続行する。catch でエラーを捕捉する |
try { JSON.parse(s) } catch (e) { ... } |
|
throw new Error() |
自分でエラーを発生させる | throw new Error("入力が不正") |
ブラウザ関連
| プロパティ / メソッド | 役割 | 使用例 | 本編 |
|---|---|---|---|
window.location |
現在のURLの情報を取得・変更する | window.location.href = "/top" |
|
window.history |
ブラウザの閲覧履歴を操作する | history.back() |
|
document.cookie |
Cookieの読み書きをする。XSSで狙われる対象 | document.cookie |
02-03 |
localStorage |
ブラウザにデータを永続保存する(ドメイン単位) | localStorage.setItem("key", "val") |
|
sessionStorage |
タブを閉じるまでデータを保存する | sessionStorage.getItem("key") |
|
encodeURIComponent() |
URLに含められない文字をエンコードする | encodeURIComponent("a&b") // "a%26b" |
|
decodeURIComponent() |
エンコードされた文字列を元に戻す | decodeURIComponent("a%26b") // "a&b" |
分割代入・その他の構文
| 構文 | 役割 | 使用例 | 本編 |
|---|---|---|---|
const { a, b } = obj |
オブジェクトから必要なプロパティだけを取り出す | const { name, age } = user |
|
const [a, b] = arr |
配列から先頭の要素を取り出す | const [first, ...rest] = items |
|
?? (Null合体演算子) |
左辺が null または undefined のときだけ右辺を使う |
name ?? "名無し" |
|
?. (オプショナルチェーン) |
プロパティが存在しない場合にエラーにせず undefined を返す |
user?.address?.city |
使い方のヒント
この一覧を暗記する必要はありません。
「配列の中身をフィルターしたい」と思ったとき、この付録を開いて .filter() の行を見る。
「フォームの入力値を取りたい」と思ったとき、element.value の行を見る。
そうやって「引く」ための一覧です。
本編の該当章へのリンクを辿れば、その関数が実際にどう使われているかをコードの文脈で読み返すことができます。