概要
-
インスタンスメソッド (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) |
参考リンク