Skip to main content

2023/11/05

这俩月后面没啥假期,只有周末可盼了

苹果上周新出的深黑色 mbp,加上我个人用的这个是 20 年的 intel 最老款式,所以挺诱人的

chrome118 新支持 CSS 特性

@scope

此前这个功能都是借助 css 预处理做的,最终都是要编译成 css 的语法,写法类似下面:

@scope (.inner) {
p {
color: goldenrod;
}
}
@scope (.outer) {
p {
color: green;
}
}

跟 less 的嵌套写法还是有些区别,不过至少是原生支持了,一定程度上可以减少 BEM 命名下的一堆长串的类名

新增媒体查询

  • scripting。检测用户是否启用了 Script
@media (scripting: none) {
.script-none {
color: red;
}
}
  • prefers-reduced-transparency。允许开发者根据用户选择的偏好来调整网页内容,从而降低操作系统中的透明度,例如 macOS 上的 “降低透明度” 设置

js 原生分组

我们一般用 lodash 提供的分组方法 groupBy。现在可以用 Object.groupByMap.groupBy

const peopleByAge = Object.groupBy(people, (person) => person.age);

可以发现,跟 lodash 的方法是一样的。该提案目前处于第 3 阶段,预计会在 2024 年成为正式标准,chrome 117 已经支持

ES12

  • FinalizationRegistry。可以在对象被垃圾回收时请求一个回调
  • WeakRef。如果我们默认将一个对象赋值给另外一个引用,那么这个引用是一个强引用。如果我们希望是一个弱引用的话,可以使用 WeakRef

vscode “浮动窗口“

呼声很高的一个特性,终于在 1.84 迎来更新

https://github.com/microsoft/vscode/issues/10121

关于 Rust

前端是否有必要学习 Rust?我觉得是有必要的,现在前端工具链都在往 Rust 靠拢,对专注于工程化的前端开发者而言是个很好的增长点。ok,列进自己的规划

当然,似乎大佬们并不满足于工具链,在多类应用开发层面也开始了一些尝试 - Dioxus

https://github.com/DioxusLabs/dioxus/blob/master/notes/README/ZH_CN.md