JavaScript: メソッドをつなげて記述する

メソッドの戻り値がオブジェクトの場合、その戻り値を使ってさらにメソッドを呼び出すことができます。

次のように記述する手法です。

var re = str.split('/').pop();

このようにメソッドをつなげて記述する方法をメソッドチェーン(メソッドカスケード)と言います。

メソッドチェーンはjQueryでよく目にする手法ですが、JavaScriptでも使用できます。

メソッドチェーンの例

次のサンプルプログラムは、カンマ区切りの文字列データから、 先頭と末尾のデータだけを取得するプログラムです。

// カンマ区切りのデータ
var str = "a,b,c,d,e";
// 先頭を取得
var reFirst = str.split(',').shift();
console.log(reFirst);   // a

// 最後を取得
var reLast = str.split(',').pop();
console.log(reLast);    // e

split()は引数で指定した文字で文字列を分割して、配列を返すメソッド。
shift()は配列の先頭を削除して、戻り値として削除した要素を返すメソッド。
pop()は配列の最後を削除して、戻り値として削除した要素を返すメソッド。

このように戻り値がオブジェクトの場合は、戻り値を利用して連続してメソッドを実行することが出来ます。