1. 拉取依赖
yarn add benchmark
2. 编写测试用例
const Benchmark = require('benchmark')
const suite = new Benchmark.Suite()
const a = 123456789
suite
.add('String', () => {
String(a)
})
.add('new String', () => {
new String(a)
})
.add('template String', () => {
;`${a}`
})
.add("use +''", () => {
'' + a
})
.on('cycle', e => {
console.log(String(e.target))
})
.run({ async: true })
3. 结果
Ops/sec 测试结果以每秒钟执行测试代码的次数(Ops/sec)显示,这个数值越大越好。
同时会显示测试过程中的统计误差,以及相对最好的慢了多少(%)
4. 结论
从结果看数字类型转换字符串 使用''+Number 和 模板字符串 性能较好,new String() 性能最差。产生这样结果的具体内部实现还有待考究。