String Builder
by XcsN
JavaScript
String.prototype.builder = function() {
var str = this.toString();
this.append = function(append) {
str += append;
return this;
};
this.clear = function() {
str = '';
};
this.toString = function() {
return str;
};
return this;
};
String.prototype.sprintf = function() {
var str = this.toString();
for (var index = 0, length = arguments.length; index < length; index++) {
str = str.replace('%s', arguments[index]);
}
return str;
};
var str1 = 'str 1 ', str2 = 'string 2';
console.log(str1.builder());
console.log(str1.builder().append(str2));
console.log(str1.builder().append(str2).toString());
console.log("a %s b %s".sprintf(str1, str2));
console.log(`a ${str1} b ${str2}`)