我们可以通过ES6模板替换现有的JS模板解决方案吗?

wik*_*ong 6 javascript benchmarking templates ecmascript-6

ES6的一个非常吸引人的功能是它内置的模板字符串.在这个时间点,由于转换到ES5是跨浏览器兼容性的必要条件,我很好奇在转换后的ES6模板和现有解决方案(如Mustache,Handlebars,Jade等)之间的性能差异.显然,如果您需要来自模板语言,ES6模板可能无法满足您的所有需求,但如果您正在执行基本模板,那么可以说ES6模板字符串可以替换您当前的模板引擎吗?

Sha*_*oor -1

如果你进行转译,ES6 会被转译为原生 ES5,因此它应该在性能方面击败任何框架/库。

ES6

var foo = "foo";
var bar = "bar";
var foobar = `${foo} ${bar}`;
Run Code Online (Sandbox Code Playgroud)

转译

"use strict";

var foo = "foo";
var bar = "bar";
var foobar = foo + " " + bar;
Run Code Online (Sandbox Code Playgroud)

  • @RGraham,甚至不谈这样一个基本模板引擎的用处,即使它只有一个带有 5 行代码的函数,它至少会在连接之前解析模板或调用“string.replace()”几次。因此,简单的字符串连接胜过(解析后进行字符串连接或几个“string.replace()”)。 (2认同)