文字列を扱う便利メソッドが大量な『Underscore.string』

Backbone.js で Model や Collection や Router の URL を組み立てるのに、 C# でいうところの string.Format みたいなメソッドが欲しいけど、 今のところ Backbone.js にも Underscore.js にも無い。

その代わりといっては何だが、『Underscore.string』というライブラリがある。

文字列を扱う便利メソッドが大量に提供されていて、Underscore の名を冠するに相応しい。 1つずつ紹介しようと思ったけど、多すぎて諦めた。READMEを読めば済むし。

とりあえず今回は書式を指定して文字列を作りたいだけなので sprintf メソッドを使わせてもらった。 C の sprintf みたいに書式を指定できる。

_.string.sprintf("/lists/%d/items", 10);

Underscore.string は単独で使えるけど、

_.mixin(_.string.exports()); // exports は underscore.js を読み込んでいたら使える
_.sprintf("/lists/%d/items", 10);

という風に underscore 本体を拡張することも可能。

CoffeeScript さえ使ってさえいれば、 文字列中で式展開できるから Underscore.string の sprintf を使うまでもなかったんだけどね…。

まぁ、CoffeeScript は String を拡張して便利メソッドを追加してくれるわけじゃないし、 JavaScript/CoffeeScript で文字列操作することが多いから Underscore.string は導入しておこう。