概要
-
インスタンスメソッド (Instance Methods) は、インスタンス化されたオブジェクトに対して利用できるメソッド を指す
- クラスや組み込みオブジェクト(Array, String, Mapなど)から生成したインスタンスごとに利用可能
- 配列操作(
map
, filter
, reduce
)、文字列操作(slice
, toUpperCase
)、日付操作(getFullYear
, toISOString
)などで頻出
インスタンスメソッドは 「データの具体的な操作を行うためのツール」 であり、アプリ開発のあらゆる場面で活用される
実施条件
- JavaScript / TypeScript の基本文法を理解していること
-
クラス
と インスタンス
の概念を理解していること
- 配列や文字列の操作を日常的に行うアプリを想定していること
環境
ツール |
バージョン |
目的 |
Node.js |
22.5.1 |
実行環境(V8 12.4 搭載、ES2024対応) |
JavaScript |
ES2024相当 |
最新仕様に基づく記法・機能利用可能 |
インスタンスメソッドの役割
- インスタンス(具体的なオブジェクト)に紐づくメソッド
- インスタンスごとに異なるデータを処理できる
-
new
演算子で作成したオブジェクトや、配列・文字列リテラルから利用できる
インスタンスメソッドの基本構造
- クラス定義
- インスタンス生成
- インスタンスメソッドの呼び出し
基本構文
// 1. クラス定義
class User {
name: string;
constructor(name: string) {
this.name = name;
}
// インスタンスメソッド
greet() {
return `Hello, my name is ${this.name}`;
}
}
// 2. インスタンス生成
const user1 = new User("Alice");
// 3. インスタンスメソッドの呼び出し
console.log(user1.greet()); // "Hello, my name is Alice"
活用例
1. 配列インスタンスメソッド(map
, filter
, reduce
)
const numbers = [1, 2, 3, 4, 5];
// map: 各要素を2倍
const doubled = numbers.map(n => n * 2); // [2, 4, 6, 8, 10]
// filter: 偶数のみ抽出
const evens = numbers.filter(n => n % 2 === 0); // [2, 4]
// reduce: 合計値を算出
const sum = numbers.reduce((acc, n) => acc + n, 0); // 15
console.log(doubled, evens, sum);
2. 文字列インスタンスメソッド(slice
, toUpperCase
)
const text = "hello world";
// 部分文字列を抽出
console.log(text.slice(0, 5)); // "hello"
// 大文字化
console.log(text.toUpperCase()); // "HELLO WORLD"
3. Dateインスタンスメソッド(getFullYear
, toISOString
)
const today = new Date();
console.log(today.getFullYear()); // 2025
console.log(today.toISOString()); // "2025-09-06T12:34:56.789Z"
インスタンスメソッドまとめ
オブジェクト種類 |
主なインスタンスメソッド |
用途 |
Array |
map , filter , reduce , forEach
|
配列要素の変換、検索、集計、ループ処理 |
String |
slice , toUpperCase , includes
|
文字列の部分抽出、整形、判定 |
Date |
getFullYear , toISOString
|
年や時刻の取得、ISO形式文字列変換 |
Map/Set |
set , get , has , delete
|
キーと値の管理、重複排除 |
自作クラス |
自由に定義可能 |
アプリ固有のロジックを実装 |
静的メソッドとの違い
種類 |
特徴 |
例 |
静的メソッド |
クラスに直接属する(インスタンス不要) |
Array.isArray([1,2]) |
インスタンスメソッド |
生成したインスタンスに対して利用する |
[1,2,3].map(x => x * 2) |
参考リンク