前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >来自朋友的半夜 Bug,为啥 “1_000_000 === 1000000” 为 true!

来自朋友的半夜 Bug,为啥 “1_000_000 === 1000000” 为 true!

作者头像
前端小智@大迁世界
发布2021-04-09 14:57:30
5380
发布2021-04-09 14:57:30
举报
文章被收录于专栏:终身学习者
  1. 首页
  2. 专栏
  3. javascript
  4. 文章详情

0

来自朋友的半夜 Bug,为啥 “1_000_000 === 1000000” 为 true!

前端小智

发布于 今天 00:13

点赞再看,微信搜索大迁世界,B站关注前端小智这个没有大厂背景,但有着一股向上积极心态人。本文 GitHub https://github.com/qq44924588... 上已经收录,文章的已分类,也整理了很多我的文档,和教程资料。

起因

一大早刚起床,朋友就直接丢来一个她在项目中遇到的 Bug,如下所示:

我马上从床上躺下去,打开电脑,输入验证一下:

我擦勒,我一开始猜想这个应该为了让数字更具可读性,通过_下划线来分割数字,浏览器知道这种情况,所以知道我们想表达的意思。

我马上想到是不是逗号也可以呢,马上跟朋友说,你用逗号试试,结果应该也是一样,不是,你打我几巴掌。于是,朋友丢了一张图给我:

脸一边歪的我,开始陷入了深思,无形装 X,最为致命,我默默的打开谷歌,开始寻找答案,正文开始。

寻找答案

“1_000_000 === 1000000” 的结果为 true,这是因为它是一个数字分隔符规范(Numeric Separators),允许在数字值中使用下划线。

关于 Numeric Separators 可点击 https://github.com/tc39/propo... 自行阅读。

如果我们尝试写十亿这样的值,可以通过用下划线分隔数字来提高可读性。

代码语言:javascript
复制
let a = 1000000000000; 
let b = 1_000_000_000_000; 
console.log(a===b); // true

数字分隔符规范(Numeric Separators)不仅支持整数,还支持各种数字格式。

代码语言:javascript
复制
// Decimal 
let dec = 1_000_000.220_720; 

// Binary 
let bin = 0b1010_0001_1000_0101; 

// Octal 
let oct = 0o1234_5670; 

// Hexadecimal 
let hex = 0xA0_B0_C0; 


// BigInt 
let bint = 9_223_372_036_854_775_807n;

代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug

原文:https://adrianmejia.com/promises-tutorial-concurrency-in-javascript-node/

参考:

https://github.com/tc39/proposal-numeric-separator

https://v8.dev/features/numeric-separators

https://qiita.com/uhyo/items/4586dbc347d6985b44ef

交流

文章每周持续更新,可以微信搜索「 大迁世界 」第一时间阅读和催更(比博客早一到两篇哟),本文 GitHub https://github.com/qq449245884/xiaozhi 已经收录,整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,另外关注公众号,后台回复福利,即可看到福利,你懂的。

javascripthtml前端

阅读 48发布于 今天 00:13

赞收藏

分享

本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议


终身学习者

我要先坚持分享20年,大家来一起见证吧。

关注专栏

前端小智

前端开发工程师

我不是什么大牛,我其实想做的就是一个传播者。内容可能过于基础,但对于刚入门的人来说或许是一个窗口,一个解惑之窗。我要先坚持分享20年,大家来一起见证吧。

58k 声望

10.2k 粉丝

关注作者

0 条评论

得票时间

提交评论

前端小智

前端开发工程师

我不是什么大牛,我其实想做的就是一个传播者。内容可能过于基础,但对于刚入门的人来说或许是一个窗口,一个解惑之窗。我要先坚持分享20年,大家来一起见证吧。

58k 声望

10.2k 粉丝

关注作者

宣传栏
目录

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 来自朋友的半夜 Bug,为啥 “1_000_000 === 1000000” 为 true!
    • 起因
      • 寻找答案
        • 交流
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档