在我的 Node.js 应用程序中,我有一个数据库层,它在需要作为字符串(例如,数字)传递给数据库的输入参数上调用 toString
。我将参数传递给库的地方,我也应该在那里调用 toString 吗?一方面,我喜欢直截了当。另一方面,我在已经是字符串的对象上调用 toString
。如果没有必要,我宁愿节省 CPU 周期。
在字符串上调用 toString
的成本是多少?
最佳答案
How costly is it to call toString on a string?
在任何体面的引擎中(V8 是一个体面的引擎),它应该是几乎免费的。但它仍然必须通过原型(prototype)链进行属性查找,以确保没有人覆盖它。所以它不会免费,只是便宜。
...should I call toString there too?
这是主观的。我和@dystroy 在一起:没有必要。此外,最好为 API 提供尽可能多的信息以供使用,以防它们在未来的版本中对其进行增强。除非 API 要求您为其提供字符串,否则我会通过在传递参数之前不转换为字符串来保留信息。
关于javascript - 在字符串上调用 toString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21753763/