number 转 string 问题

2019-09-26 21:39:52 +08:00
 jkmf

今天用 String()转换 number 类型,被 mentor 嫌弃了,说应该用+'',还说我没有好好看过犀牛书,特地把犀牛书翻出来看下了下,书上是下图这么写的。+''和 toString() String()没有本质区别吧,大家平时都是用哪种方式转换呀? http://ww1.sinaimg.cn/large/6fb6ba47ly1g7d8z512w9j20sa06qwh2.jpg

3468 次点击
所在节点    JavaScript
25 条回复
jkmf
2019-09-26 21:43:50 +08:00
kyuuseiryuu
2019-09-26 21:44:15 +08:00
哦,我用 `${v}`
Austaras
2019-09-26 21:44:16 +08:00
你们都错了,应该用 ES6 模板字符串
cuvii
2019-09-26 21:44:46 +08:00
个人习惯是+'',没深究过。
另外图片 403。
shiny
2019-09-26 21:47:56 +08:00
尽量用可读性更好的方式来写。
Rwing
2019-09-26 21:48:20 +08:00
你们 mentor 扯淡,String()的语义更明确,+'' 这种奇技淫巧少用
LittleWhiteMouse
2019-09-26 21:49:26 +08:00
写的清清楚楚明明白白,等价,这还有什么可鄙视的,随便开心用哪个喽。

我倒是为了便于阅读,用 String() 较多,有点拿代码当注释用的意思。简短有简短的好处,毕竟文件体积小;但是我想自己回头检查代码的时候轻松些……
sunjourney
2019-09-26 22:11:33 +08:00
toString() 更加通用,我是说换了语言也有差不多的库函数
iMusic
2019-09-26 22:14:20 +08:00
我一般是'' +
DOLLOR
2019-09-26 22:26:50 +08:00
单一转换操作,用+''没问题,但是,如果是链式操作,后期维护可能会坑自己。
learnshare
2019-09-26 22:28:29 +08:00
+ '' 没问题,但理解类型的时候得费脑子
toString 挺好的
Cbdy
2019-09-26 22:56:46 +08:00
用 String()是最妥当的,用+''不够语意化(实际是隐式转型的滥用),用 toString()有空指针问题
Elethom
2019-09-26 22:59:04 +08:00
在我们团队要是敢这么写,自动化工具直接就禁止你 commit。
zhw2590582
2019-09-26 23:08:17 +08:00
好多流行的 eslint 扩展配置,都提示用 String(),说明它更好
yulon
2019-09-27 08:12:22 +08:00
不管从语义还是从效率都是弱智行为
shintendo
2019-09-27 09:07:18 +08:00
用 String()最好,语义明确
另外不要用 toString
Jrue0011
2019-09-27 11:21:58 +08:00
用"" + number 的话,是不是会创建一个 StringBuilder 对象,然后再 append(String.valueOf(number))?
Jrue0011
2019-09-27 11:26:05 +08:00
@Jrue0011 我错了,我一开始以为是 java。。。。。
SoloCompany
2019-09-27 13:53:19 +08:00
模版字符串是最优解
renmu123
2019-09-27 15:50:04 +08:00
显式优于隐式

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/604567

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX