問題は underscore.js ではなく、ネイティブ プロトタイプ関数にあると思います。それらをコールバックとして渡すのではなく、直接呼び出すことしかできないようです。使用できないコードとテストのエラー (Mocha.js を使用し、関連する部分のみ) は次のとおりです。
_.chain("INPUT").tap(String.prototype.toLowerCase)
// => TypeError: String.prototype.toLowerCase called on null or undefined
Nodeの REPL でこれを試しました:
String.prototype.toLowerCase("INPUT")
// => ''
プロトタイプの関数を.call
or.apply
で呼び出さなければならないことはわかっていますが、なぜ正確に ? そして、この関数をコールバックとして渡すにはどうすればよいですか?