a += '1' 与 a += 1 + '' 到底哪个速度快?

135 阅读1分钟
console.time('e');
for (let i = 0; i < 10e6; i++) {
  var a = '';
  for (let j = 0; j < 10; j++) {
    a += '1';
  }
}
console.timeEnd('e');

console.time('f');
for (let i = 0; i < 10e6; i++) {
  var a = '';
  for (let j = 0; j < 10; j++) {
    a += 1 + '';
  }
}
console.timeEnd('f');

node下跑了十几次,都是后者快一丢丢,大概几十ms的样子,哪位大佬可以解释下?

后者除了字符串相加,还要一个隐式类型转换吧