静的ユーティリティメソッド
CoddyのJavaScriptジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 33/56。
静的メソッドは、クラスのインスタンスではなく、クラス自体に属するユーティリティ関数です。インスタンス固有のデータにアクセスする必要がない関数に便利です。
静的ユーティリティメソッドを持つクラスを作成しましょう。
class MathHelper {
// 静的メソッドを定義する
static square(number) {
return number * number;
}
}静的メソッドを呼び出すには、クラス名を直接使います。
// インスタンスを作成せずに静的メソッドを呼び出す
const result = MathHelper.square(5);
console.log(result); // 25new MathHelper()を使って新しいインスタンスを作成する必要がなかったことに注目してください。静的メソッドは、インスタンスのデータを必要とせずに処理を行うユーティリティ関数に最適です。
チャレンジ
StringUtilsという名前のクラスを作成し、文字列を引数として受け取り、最初の文字を大文字にした同じ文字列を返す、capitalizeという名前の静的メソッドを定義します。たとえば、入力が"javascript"の場合、このメソッドは"Javascript"を返します。このクラスをエクスポートします。
- 文字列が空かどうかを確認します:
if (!str || str.length === 0)(この確認をしないと、空文字列によって問題が発生する可能性があります)。!strはnull/undefinedかどうかを確認します(エラーを防ぎます)。str.length === 0は空文字列かどうかを確認します(クラッシュする代わりに""を返します)。
- 最初の文字を取得します:
str.charAt(0) - 大文字にします:
.toUpperCase() - 文字列の残りの部分を取得します:
str.slice(1)(位置1から末尾まで) - 結合します: 最初の文字を大文字にしたもの + 文字列の残りの部分
自分で試してみよう
import { StringUtils } from './stringUtils.js';
// 以下のコードを変更しないでください
console.log(StringUtils.capitalize("programming"));このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
オブジェクト指向プログラミングのすべてのレッスン
自分で練習してみよう: JavaScriptオンラインコンパイラ