不换的周刊 第48期

2024-07-04 15:06:29 浏览数 (1)

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()
代码语言:javascript复制
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 模型帮助自己节省成本的前提下,实现了 EnzymeRTS 的单元测试用例转换。

(:一开始就用 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/

0 人点赞