【发布时间】:2019-10-14 08:58:24
【问题描述】:
将字符串转换为任意数字
方式 1
console.log(+"3")
方式 2
console.log("3" * 1)
方式 3
console.log(~~ "3")
方式 4
console.log(parseInt("3"))
console.log(parseFloat("3"))
以上所有结果都提供相同的结果。但单独它可能会提供一些额外的功能。但我想知道哪一个最适合性能?
我认为"1"*1 (way-2) 是将字符串转换为 int 的最佳方法之一。这是正确的吗?如果我错了,请告诉我哪个最好,为什么?
【问题讨论】:
-
你真的想得到一个整数值吗?
-
@Ivar 我会将您的答案推荐给我的队友。所以我不想为我的上述方式单独链接。
-
“什么是最好的/最快的/...”要求基于意见的答案,这与 SO 无关。
-
@NinaScholz 是的。
-
@RameshRajendran 实际上答案是“它实际上取决于浏览器”。在提到
~~的同一答案中提到的JSPerf 对我来说表明隐含的+num是最快的。话虽如此,除非您进行大量可笑的转换,否则我认为您永远不会注意到差异。
标签: javascript string typescript ecmascript-6 int