Appearance
1.知其然,知其所以然:TypeScript 中的协变与逆变
协变、逆变以及子类型是具备类型系统的语言中绕不开的话题,本篇文章带你了解协变与逆变在前端同学们最熟悉的语言—— TypeScript 中的表现。
原文地址:https://zhuanlan.zhihu.com/p/454202284
2.【译】Node 模块之战:为什么 CommonJS 和 ES Module 不能共存
原文地址:https://juejin.cn/post/6865557155102064648#comment
英文原文地址:Node Modules at War: Why CommonJS and ES Modules Can’t Get Along | by Dan Fabulich | Code Red (redfin.engineering)
3.「译」ES 2021 新特性: Top-level await
「ECMAScript」提案 Top-level await
由 Myles Borins 提出,它可以让你在模块的最高层中使用 await
操作符。在这之前,你只能通过在 async
函数或 async generators
中使用 await
操作符。
原文地址:https://segmentfault.com/a/1190000025184719
4.TOLOCALESTRING 也太好用了吧!(超方便转千分位,中文数字等)
应用
1.把阿拉伯数字转成中文数字
js
var num = 1
num.toLocaleString('zh-u-nu-hanidec') // "一"
12
2.转千分位
js
var num = 12345678.123
num.toLocaleString() // "12,345,678.123"
12
如果不想有分隔符,可以指定 useGrouping 为 false
3.转百分比
js
var num = 1345.2345
num.toLocaleString('zh', { style: 'percent' }) // "134,523%"
num.toLocaleString('zh', { style: 'percent', useGrouping: false }) // "134523%"
num.toLocaleString('zh', { style: 'percent', useGrouping: false }) // "134523%"
1234
4.转货币符号
js
var num = 1234.2345
num.toLocaleString('zh', { style: 'currency', currency: 'CNY' }) // "¥1,234.23"
num.toLocaleString('ja', { style: 'currency', currency: 'JPY' }) // "¥1,234"
num.toLocaleString('zh', {
style: 'currency',
currency: 'CNY',
useGrouping: false,
minimumFractionDigits: 3,
}) // "¥1234.235"
var arr = [1, 22, 3333]
arr.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }) // ¥1,¥22,¥3,333
12345678
注意:3,4 的设置,结果默认都只保留了两位小数,可通过
minimumFractionDigits
这个参数进行设置
5.指定整数最少位数、小数最少与最多位数,有效数字的位数,不够用 0 补全 (采用四舍五入法)
js
let num = 1234.456
num.toLocaleString('zh', { minimumIntegerDigits: 5 }) //01,234.456
num.toLocaleString('zh', { minimumFractionDigits: 4, useGrouping: false }) //1234.4560
num.toLocaleString('zh', { maximumFractionDigits: 2, useGrouping: false }) //1234.46
num.toLocaleString('zh', { minimumSignificantDigits: 8, useGrouping: false }) //1234.4560
num.toLocaleString('zh', { maximumSignificantDigits: 4, useGrouping: false }) //1234
123456
6.转换时间显示
javascript
var date = new Date()
date.toLocaleString() // "2020/9/28 下午5:14:53"
date.toLocaleString('zh', { hour12: false }) // "2020/9/28 17:14:53"
原文地址:https://www.freesion.com/article/22871353581/
5.Introduction · 函数式编程指北 (gitbooks.io)
关于本书
这本书的主题是函数范式(functional paradigm),我们将使用 JavaScript 这个世界上最流行的函数式编程语言来讲述这一主题。有人可能会觉得选择 JavaScript 并不明智,因为当前的主流观点认为它是一门命令式(imperative)的语言,并不适合用来讲函数式。但我认为,这是学习函数式编程的最好方式,因为:
你很有可能在日常工作中使用它
你不必从头学起就能开始编写程序
这门语言完全有能力书写高级的函数式代码
原文地址:https://llh911001.gitbooks.io/mostly-adequate-guide-chinese/content/