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}`)