JSFiddle - React, Tailwind, and code Playground

by BurpmanJunior

JavaScript

/**
 * String template
 */
function _strtpl(){
	var str,
  		vars;
      
  // First argument must be a string
	if(typeof arguments[0] !== 'string'){
  	console.error('_strtpl(): First argument must be a template string');
  	return false;
  }
  
  // Convert arguments to array and set template string
  vars = Array.prototype.splice.call(arguments, 0);
  str = vars[0];
  
  // Ignore first argument and loop remaining arguments
  for(var i = 1; i < vars.length; i++){
  	// Replace pattern ${i+1}
  	var pattern = new RegExp('\\$\\{' + (i) + '\\}', 'igm');
  	str = str.replace(pattern, vars[i]);
  }
  
  return str;
}

/**
 * DEMO
 */
var demo = _strtpl(
	'Hello ${1}, this is a ${2}. Made with a handy little backwards compatible ${2} function.',
  'world',
  'template'
);

document.body.innerHTML += demo;