技术解析

number 转 string 问题
0
2021-08-26 04:26:42
idczone

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


图片挂掉了试试这个
http://tva1.sinaimg.cn/large/007X8olVly1g7d94y5jvtj30sa06qwh2.jpg

哦,我用 `${v}`

你们都错了,应该用 ES6 模板字符串

个人习惯是+'',没深究过。
另外图片 403。

尽量用可读性更好的方式来写。

你们 mentor 扯淡,String()的语义更明确,+'' 这种奇技淫巧少用

写的清清楚楚明明白白,等价,这还有什么可鄙视的,随便开心用哪个喽。
我倒是为了便于阅读,用 String() 较多,有点拿代码当注释用的意思。简短有简短的好处,毕竟文件体积小;但是我想自己回头检查代码的时候轻松些……

toString() 更加通用,我是说换了语言也有差不多的库函数

我一般是'' +

单一转换操作,用+''没问题,但是,如果是链式操作,后期维护可能会坑自己。

+ '' 没问题,但理解类型的时候得费脑子
toString 挺好的

用 String()是最妥当的,用+''不够语意化(实际是隐式转型的滥用),用 toString()有空指针问题

在我们团队要是敢这么写,自动化工具直接就禁止你 commit。

好多流行的 eslint 扩展配置,都提示用 String(),说明它更好

不管从语义还是从效率都是弱智行为

用 String()最好,语义明确
另外不要用 toString

用"" + number 的话,是不是会创建一个 StringBuilder 对象,然后再 append(String.valueOf(number))?

我错了,我一开始以为是 java。。。。。

模版字符串是最优解

显式优于隐式

具体怎么转换? google 没有找到

为什么不用 toString() 面向对象应该都用.语法才对啊.

String()
因为和 Number()风格相同比较好看

你搜下 ES6 里面有

+ 是毛奇技淫巧啊,从 js 一开始 1.0 版本就已经存在了好吗。
真的懂 js 吗?
另外 google 写的 js 代码里能搜出一堆+

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服