Это что-то тривиальное, что я забыл.
Возможно, есть дубликаты - я немного искал, нашел похожее, но не смог найти краткого.
String.prototype.test = function(){this.bar = this.length + 2;}
var str = "foo";
str.test();
console.log(str); // foo
console.log(str.bar); // undefined
Уверен, это связано с тем, что this
оказался в ловушке в закрытии.