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 は導入しておこう。