文字列の場合に備えて、特定のjavascript変数を関数でオーバーライドしようとしていました:
mapper = _.isString(mapper) ? function (item) { return item[mapper]; } : mapper;
しかし、驚いたことに、mapperは依然として指定された文字列であり、関数ではありません!
上記のステートメントと同じ右辺値を新しい変数に割り当てたところ、期待どおりに動作していました。
var mapFunction = _.isString(mapper) ? function (item) { return item[mapper]; } : mapper;
(私は mapFunction ではなく、コードの後半で mapFunction を使用していました)
何が欠けていたのですか?文字列だった変数に関数を代入することはできませんか?