首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
宝塔
V2EX  ›  JavaScript

number 转 string 问题

  •  
  •   jkmf · 56 天前 · 1383 次点击
    这是一个创建于 56 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    25 回复  |  直到 2019-10-08 17:31:20 +08:00
        1
    jkmf   56 天前
        2
    kyuuseiryuu   56 天前
    哦,我用 `${v}`
        3
    Austaras   56 天前
    你们都错了,应该用 ES6 模板字符串
        4
    cuvii   56 天前
    个人习惯是+'',没深究过。
    另外图片 403。
        5
    shiny   56 天前
    尽量用可读性更好的方式来写。
        6
    Rwing   56 天前
    你们 mentor 扯淡,String()的语义更明确,+'' 这种奇技淫巧少用
        7
    LittleWhiteMouse   56 天前
    写的清清楚楚明明白白,等价,这还有什么可鄙视的,随便开心用哪个喽。

    我倒是为了便于阅读,用 String() 较多,有点拿代码当注释用的意思。简短有简短的好处,毕竟文件体积小;但是我想自己回头检查代码的时候轻松些……
        8
    sunjourney   56 天前
    toString() 更加通用,我是说换了语言也有差不多的库函数
        9
    iMusic   56 天前
    我一般是'' +
        10
    DOLLOR   56 天前
    单一转换操作,用+''没问题,但是,如果是链式操作,后期维护可能会坑自己。
        11
    learnshare   56 天前
    + '' 没问题,但理解类型的时候得费脑子
    toString 挺好的
        12
    Cbdy   56 天前
    用 String()是最妥当的,用+''不够语意化(实际是隐式转型的滥用),用 toString()有空指针问题
        13
    Elethom   56 天前 via iPhone
    在我们团队要是敢这么写,自动化工具直接就禁止你 commit。
        14
    zhw2590582   56 天前 via iPhone
    好多流行的 eslint 扩展配置,都提示用 String(),说明它更好
        15
    yulon   55 天前
    不管从语义还是从效率都是弱智行为
        16
    shintendo   55 天前
    用 String()最好,语义明确
    另外不要用 toString
        17
    Jrue0011   55 天前
    用"" + number 的话,是不是会创建一个 StringBuilder 对象,然后再 append(String.valueOf(number))?
        18
    Jrue0011   55 天前
    @Jrue0011 我错了,我一开始以为是 java。。。。。
        19
    SoloCompany   55 天前
    模版字符串是最优解
        20
    renmu123   55 天前
    显式优于隐式
        21
    gromit1337   54 天前
    @SoloCompany #19 具体怎么转换? google 没有找到
        22
    jinwyp   54 天前
    为什么不用 toString() 面向对象应该都用.语法才对啊.
        23
    ochatokori   54 天前 via Android
    String()
    因为和 Number()风格相同比较好看
        24
    jkmf   54 天前
    @gromit1337 你搜下 ES6 里面有
        25
    hoythan   44 天前
    @Rwing + 是毛奇技淫巧啊,从 js 一开始 1.0 版本就已经存在了好吗。
    真的懂 js 吗?
    另外 google 写的 js 代码里能搜出一堆+
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   921 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 93ms · UTC 20:46 · PVG 04:46 · LAX 12:46 · JFK 15:46
    ♥ Do have faith in what you're doing.