在我的Node.js应用程序中,我有一个数据库层,在输入参数上调用toString
,需要以字符串形式传递给数据库(例如,数字)。我将参数传递给库的地方,我也应该调用toString吗?一方面,我喜欢明确。另一方面,我在已经是字符串的东西上调用toString
。如果没有必要,我宁愿保存CPU周期。
在字符串上调用toString
的成本是多少?
答案 0 :(得分:6)
在字符串上调用toString有多贵?
在任何体面的引擎(和V8是一个不错的引擎),它应该几乎免费。但它仍然必须通过原型链进行属性查找,以确保有人没有覆盖它。所以它不会免费,只是便宜。
......我应该在那里调用toString吗?
这是主观的。我跟@dystroy:没有必要。此外,最好尽可能为API提供尽可能多的信息,以防它们在将来的版本中增强它。除非API要求你给它字符串,否则我会通过在传递params之前不转换为字符串来保存信息。