一大早刚起床,朋友就直接丢来一个她在项目中遇到的 Bug,如下所示:
我马上从床上躺下去,打开电脑,输入验证一下:
我擦勒,我一开始猜想这个应该为了让数字更具可读性,通过_下划线来分割数字,浏览器知道这种情况,所以知道我们想表达的意思。
我马上想到是不是逗号也可以呢,马上跟朋友说,你用逗号试试,结果应该也是一样,不是,你打我几巴掌。于是,朋友丢了一张图给我:
脸一边歪的我,开始陷入了深思,无形装 X,最为致命,我默默的打开谷歌,开始寻找答案,正文开始。
“1_000_000 === 1000000” 的结果为 true,这是因为它是一个数字分隔符规范(Numeric Separators),允许在数字值中使用下划线。
关于 Numeric Separators 可点击 https://github.com/tc39/proposal-numeric-separator 自行阅读。
如果我们尝试写十亿这样的值,可以通过用下划线分隔数字来提高可读性。
let a = 1000000000000;
let b = 1_000_000_000_000;
console.log(a===b); // true
数字分隔符规范(Numeric Separators)不仅支持整数,还支持各种数字格式。
// 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
页面更新:2024-04-17
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号