今天用 String()转换 number 类型,被 mentor 嫌弃了,说应该用+'',还说我没有好好看过犀牛书,特地把犀牛书翻出来看下了下,书上是下图这么写的。+''和 toString() String()没有本质区别吧,大家平时都是用哪种方式转换呀? http://ww1.sinaimg.cn/large/6fb6ba47ly1g7d8z512w9j20sa06qwh2.jpg
1
jkmf OP |
2
kyuuseiryuu 2019-09-26 21:44:15 +08:00
哦,我用 `${v}`
|
3
Austaras 2019-09-26 21:44:16 +08:00
你们都错了,应该用 ES6 模板字符串
|
4
B3C933r4qRb1HyrL 2019-09-26 21:44:46 +08:00
个人习惯是+'',没深究过。
另外图片 403。 |
5
shiny 2019-09-26 21:47:56 +08:00
尽量用可读性更好的方式来写。
|
6
Rwing 2019-09-26 21:48:20 +08:00
你们 mentor 扯淡,String()的语义更明确,+'' 这种奇技淫巧少用
|
7
LittleWhiteMouse 2019-09-26 21:49:26 +08:00
写的清清楚楚明明白白,等价,这还有什么可鄙视的,随便开心用哪个喽。
我倒是为了便于阅读,用 String() 较多,有点拿代码当注释用的意思。简短有简短的好处,毕竟文件体积小;但是我想自己回头检查代码的时候轻松些…… |
8
sunjourney 2019-09-26 22:11:33 +08:00
toString() 更加通用,我是说换了语言也有差不多的库函数
|
9
iMusic 2019-09-26 22:14:20 +08:00
我一般是'' +
|
10
DOLLOR 2019-09-26 22:26:50 +08:00
单一转换操作,用+''没问题,但是,如果是链式操作,后期维护可能会坑自己。
|
11
learnshare 2019-09-26 22:28:29 +08:00
+ '' 没问题,但理解类型的时候得费脑子
toString 挺好的 |
12
Cbdy 2019-09-26 22:56:46 +08:00
用 String()是最妥当的,用+''不够语意化(实际是隐式转型的滥用),用 toString()有空指针问题
|
13
Elethom 2019-09-26 22:59:04 +08:00 via iPhone
在我们团队要是敢这么写,自动化工具直接就禁止你 commit。
|
14
zhw2590582 2019-09-26 23:08:17 +08:00 via iPhone
好多流行的 eslint 扩展配置,都提示用 String(),说明它更好
|
15
yulon 2019-09-27 08:12:22 +08:00
不管从语义还是从效率都是弱智行为
|
16
shintendo 2019-09-27 09:07:18 +08:00
用 String()最好,语义明确
另外不要用 toString |
17
Jrue0011 2019-09-27 11:21:58 +08:00
用"" + number 的话,是不是会创建一个 StringBuilder 对象,然后再 append(String.valueOf(number))?
|
19
SoloCompany 2019-09-27 13:53:19 +08:00
模版字符串是最优解
|
20
renmu123 2019-09-27 15:50:04 +08:00
显式优于隐式
|
21
gromit1337 2019-09-28 14:42:07 +08:00
@SoloCompany #19 具体怎么转换? google 没有找到
|
22
jinwyp 2019-09-28 16:25:40 +08:00
为什么不用 toString() 面向对象应该都用.语法才对啊.
|
23
ochatokori 2019-09-28 18:39:52 +08:00 via Android
String()
因为和 Number()风格相同比较好看 |
24
jkmf OP @gromit1337 你搜下 ES6 里面有
|