在javaScript中对该字符串进行多次测试时,使用新字符串(“a字符串”)是否可以获得速度优势

在javaScript中对该字符串进行多次测试时,使用新字符串(“a字符串”)是否可以获得速度优势,javascript,string,Javascript,String,我正在制作一个小型搜索引擎,其中字符串经常被搜索。由于javaScript将字符串原语(声明为像var thatString=“a string”)转换为对象,当我们对它们使用indexOf之类的方法时,然后再转换回原语,因此我认为将所有原语转换为带有var aString=new string(“aString”)的对象会很困难在要分析的字符串数组中可以带来速度优势。但这真的值得吗? 搜索引擎原型可以在上看到,它的代码(开源)可以在上看到,即使我们没有向使用新字符串创建的字符串对象添加属性,在

我正在制作一个小型搜索引擎,其中字符串经常被搜索。由于javaScript将字符串原语(声明为像
var thatString=“a string”
)转换为对象,当我们对它们使用
indexOf
之类的方法时,然后再转换回原语,因此我认为将所有原语转换为带有
var aString=new string(“aString”)的对象会很困难
在要分析的字符串数组中可以带来速度优势。但这真的值得吗?

搜索引擎原型可以在上看到,它的代码(开源)可以在上看到,即使我们没有向使用新字符串创建的字符串对象添加属性,在firefox和ubuntu中chrome的原语速度要快得多(43-45%)。
感谢DhruvPathak链接到jsperf.com

jsperf.com检查并分享结果ubuntu中firefox的字符串原语速度快了0.34%,但需要注意的是,我在字符串对象中添加了一个属性,这可能是速度降低的原因。当然,向string对象添加属性的功能可能是使用string对象的主要优势。如果没有string属性,在ubuntu中使用firefox进行搜索,原语的速度仍然要快0.33%。但是我不确定我的测试是否正确,尝试了一个新的测试。在编辑jsPerf测试之后,使用primitive会更快