javascript - 在字符串上调用 toString

标签 javascript node.js v8

在我的 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/

相关文章:

javascript - 我的 JS 实时应用程序中的垃圾收集时间太长

javascript - 如何在 HTML5 Canvas 中按小数点对齐文本

javascript - 具有异步功能的定时循环

javascript - 为什么 req.body 不断返回空对象?

node.js - 将不需要的功能(fdescribe、describe.only)检测为 Gulp 任务

c++ - 比较 v8 字符串(Node.js 插件)

javascript模块模式返回对象引用?

javascript - 如何避免 html5 Canvas 中的文本重叠

javascript - 为什么这个对象不起作用?

javascript - Chrome 39 JavaScript 性能异常