Scholar's Weekly 第48期
!!! tip hint important "温馨提示"
关键词: ES2024
React Compiler
slack
FE News
1.Set
的新提案终于在最新的浏览器中实现了[2]
相关地址:https://developer.mozilla.org/en-US/blog/javascript-set-methods/
图片来源于 MDN: https://developer.mozilla.org/en-US/blog/javascript-set-methods/
- •
section()
方法返回一个新的集合,其中包含此集合和给定集合中的元素。 - •
union()
方法返回一个新的集合,其中包含此集合和给定集合中的所有元素。 - •
difference()
方法返回一个新的集合,其中包含此集合中但不在给定集合中的元素。 - •
symmetricDifference()
方法返回一个新的集合,其中包含两个集合中但不同时在两个集合中的元素。 - •
isSubsetOf()
方法返回一个布尔值,指示一个集合的所有元素是否都在特定集合中。 - •
isSupersetOf()
方法返回一个布尔值,指示一个集合的所有元素是否都在特定集合中。 - •
isDisjointFrom()
方法返回一个布尔值,指示此集合与特定集合是否没有共同元素。
2. ES2024
的新特性[3]
相关地址:https://2ality.com/2024/06/ecmascript-2024.html#ensuring-that-strings-are-well-formed
有好几个特性,但是这里仅仅列举我们常用的几个,其他有兴趣可以尝试点击原文去查看
- •
Map.groupBy()
assert.deepEqual(
Map.groupBy([0,-5,3,-4,8,9],x =>Math.sign(x)),
newMap()
.set(0,[0])
.set(-1,[-5,-4])
.set(1,[3,8,9])
);
- •
Promise.withResolvers()
在往期的周刊中有讲到过,便捷创建异步函数的方案。
代码语言:javascript复制const { promise, resolve, reject } = Promise.withResolvers();
老头出了本新书:探索JavaScript[4]
相关地址:https://exploringjs.com/js/book/ch_why-js.html
在线可以免费阅读。
3.理解 React Compiler[5]
相关地址: https://tonyalicea.dev/blog/understanding-react-compiler/
文中介绍了 React Compiler
的工作原理,还是受益匪浅的,推荐点开原文看看。
4.探索两种生成随机数的方法[6]
相关地址:https://www.bennadel.com/blog/4669-exploring-randomness-in-javascript.htm
作者 Ben Nadel
介绍了:Math.random()
和 Crypto.getRandomValues()
生成随机数的性能以及速度的对比。
最终的结论是:随机数没什么不好,速度和性能优先于:Crypto.getRandomValues()
5.AI 驱动下的 slack 从 Enzyme RTS 的转换探索[7]
相关地址:https://slack.engineering/balancing-old-tricks-with-new-feats-ai-powered-conversion-from-enzyme-to-react-testing-library-at-slack/
这里用大白话简单描述下就是:Slack
使用了 AI
,构建了自己的一套 LLM
模型帮助自己节省成本的前提下,实现了 Enzyme
到 RTS
的单元测试用例转换。
(:一开始就用 RTS
,是不是更好点,可以减少很多历史负债。------ 个人见解
引用链接
[1]
shopify: https://www.shopify.com/stock-photos/photos/heart-of-light?c=love
[2]
Set
的新提案终于在最新的浏览器中实现了: https://developer.mozilla.org/en-US/blog/javascript-set-methods/
[3]
ES2024
的新特性: https://2ality.com/2024/06/ecmascript-2024.html#ensuring-that-strings-are-well-formed
[4]
探索JavaScript: https://exploringjs.com/js/book/ch_why-js.html
[5]
理解 React Compiler: https://tonyalicea.dev/blog/understanding-react-compiler/
[6]
探索两种生成随机数的方法: https://www.bennadel.com/blog/4669-exploring-randomness-in-javascript.htm
[7]
AI 驱动下的 slack 从 Enzyme RTS 的转换探索: https://slack.engineering/balancing-old-tricks-with-new-feats-ai-powered-conversion-from-enzyme-to-react-testing-library-at-slack/