Я играю с новой функцией ES6 Template Literals, и первое, что мне пришло в голову, это String.format
для JavaScript, поэтому я String.format
к реализации прототипа:
String.prototype.format = function() {
var self = this;
arguments.forEach(function(val,idx) {
self["p"+idx] = val;
});
return this.toString();
};
console.log('Hello, ${p0}. This is a ${p1}'.format("world", "test"));
Тем не менее, шаблон Literal оценивается до того, как он передается моему методу-прототипу. Можно ли как-нибудь написать приведенный выше код, чтобы отложить результат до тех пор, пока я динамически не создаю элементы?