Templating engines turn a string like Hello {{name}}! into rendered output by replacing placeholders with data.
Hello {{name}}!
In this question, implement renderTemplate(template, data), a simplified Mustache-like renderer.
renderTemplate(template, data)
This question is intentionally small:
{{name}}
{{ name }}
data
renderTemplate('Hello {{name}}!', { name: 'Alice' });// 'Hello Alice!' renderTemplate('{{greeting}}, {{name}}!', { greeting: 'Hi', name: 'Sam',});// 'Hi, Sam!'
Whitespace inside tags should be ignored.
renderTemplate('{{ count }} items left', { count: 3 });// '3 items left'
Missing keys should render as empty strings.
renderTemplate('Hello {{name}} {{surname}}!', { name: 'Alice' });// 'Hello Alice !'
renderTemplate(template, data) accepts the following arguments:
template
string
{{...}}
Object
Returns a new string with all placeholders replaced.
false
0
''
null
undefined
console.log()