湖中剑 | 前端周刊 #4 | 2021-08-16
2023-12-19 05:48:50
周刊收集包括前端(但不限于前端)的文章、新闻、开源项目、工具等等,每周一更新。
目录
- V8 引擎发布 v9.3:更快的编译速度
- Object.hasOwn 作为 Object.prototype 的新成员
- TypeScript 4.4 发布:类型推断和错误处理的增强
- WebAssembly 2.0 草案发布:引入新的功能和改进
- Rust 1.56 发布:改进编译器和标准库
- Svelte 3.33 发布:带来改进的响应式系统和更好的 TypeScript 支持
- Vue.js 3.2 发布:改进了组件 API 和错误处理
- React.js 17.0.2 发布:修复了一些错误并改进了性能
- Node.js 16.13.1 发布:修复了一些错误并改进了安全性
- Docker 20.10.17 发布:修复了一些错误并改进了稳定性
- Kubernetes 1.22.6 发布:修复了一些错误并改进了安全性
- Git 2.32.0 发布:带来了新的功能和改进
- Linux 5.15.19 发布:修复了一些错误并改进了安全性
V8 引擎发布 v9.3:更快的编译速度
V8 引擎是一个用于执行 JavaScript 的开源引擎,它被广泛用于 Chrome 浏览器和其他基于 Chromium 的浏览器中。V8 引擎 v9.3 于 2021 年 8 月 16 日发布,带来了更快的编译速度和一些新的功能。
V8 引擎 v9.3 的主要改进包括:
- 更快的编译速度:V8 引擎 v9.3 的编译速度比 v9.2 快了 10% 以上。这得益于一系列优化,包括改进的解析器和代码生成器。
- 更好的类型推断:V8 引擎 v9.3 的类型推断能力得到了改进,这使得它能够更好地推断出变量和表达式的类型。这可以提高代码的性能和可读性。
- 新的 JavaScript 特性:V8 引擎 v9.3 支持了一些新的 JavaScript 特性,包括私有字段和方法、可选链操作符和空值合并运算符。这些新特性可以使代码更简洁和更易读。
Object.hasOwn 作为 Object.prototype 的新成员
Object.hasOwn 方法是 JavaScript 中一个新的方法,它可以检查一个对象是否拥有一个指定的属性。Object.hasOwn 方法与 Object.prototype.hasOwnProperty 方法类似,但它不检查继承的属性。
Object.hasOwn 方法的语法如下:
Object.hasOwn(obj, prop)
其中,
- obj 是要检查的对象。
- prop 是要检查的属性。
Object.hasOwn 方法返回一个布尔值,如果对象拥有指定的属性,则返回 true,否则返回 false。
例如,以下代码检查对象 obj 是否拥有属性 prop:
const obj = {
name: 'John Doe',
age: 30
};
console.log(Object.hasOwn(obj, 'name')); // true
console.log(Object.hasOwn(obj, 'age')); // true
console.log(Object.hasOwn(obj, 'gender')); // false
Object.hasOwn 方法可以用于各种场景,例如:
- 检查对象是否拥有一个指定的属性。
- 遍历对象的属性。
- 删除对象的属性。
- 复制对象的属性到另一个对象。
TypeScript 4.4 发布:类型推断和错误处理的增强
TypeScript 4.4 是 TypeScript 的一个新版本,它于 2021 年 8 月 16 日发布。TypeScript 4.4 带来了许多新的特性和改进,包括改进的类型推断、更好的错误处理和新的语言特性。
TypeScript 4.4 的主要改进包括:
- 改进的类型推断:TypeScript 4.4 的类型推断能力得到了改进,这使得它能够更好地推断出变量和表达式的类型。这可以提高代码的性能和可读性。
- 更好的错误处理:TypeScript 4.4 的错误处理能力得到了改进,这使得它能够更好地报告错误并提供更详细的错误信息。这可以帮助开发人员更快地找到并修复错误。
- 新的语言特性:TypeScript 4.4 支持了一些新的语言特性,包括模板字面量类型、元组类型和联合类型。这些新特性可以使代码更简洁和更易读。
WebAssembly 2.0 草案发布:引入新的功能和改进
WebAssembly 2.0 是 WebAssembly 的一个新版本,它于 2021 年 8 月 16 日发布。WebAssembly 2.0 引入了许多新的功能和改进,包括新的指令、新的数据类型和新的 API。
WebAssembly 2.0 的主要改进包括:
- 新的指令:WebAssembly 2.0 引入了许多新的指令,这些指令可以提高代码的性能和可读性。例如,WebAssembly 2.0 引入了新的 SIMD 指令,这些指令可以用于并行处理数据。
- 新的数据类型:WebAssembly 2.0 引入了新的数据类型,这些数据类型可以更好地表示不同的数据。例如,WebAssembly 2.0 引入了新的浮点数类型,这些浮点数类型可以表示更大的数字。
- 新的 API:WebAssembly 2.0 引入了新的 API,这些 API 可以使 WebAssembly 代码与 JavaScript 代码更好地交互。例如,WebAssembly 2.0 引入了新的 JavaScript API,这些 API 可以使 JavaScript 代码调用 WebAssembly 函数。
Rust 1.56 发布:改进编译器和标准库
Rust 1.56 是 Rust 的一个新版本,它于 2021 年 8 月 16 日发布。Rust 1.56 带来了许多新的特性和改进,包括改进的编译器、更好的标准库和新的语言特性。
Rust 1.56 的主要改进包括:
- 改进的编译器:Rust 1.56 的编译器得到了改进,这使得它能够生成更快的代码。此外,Rust 1.56 的编译器还改进了错误处理,这使得它能够更好地报告错误并提供更详细的错误信息。
- 更好的标准库:Rust 1.56 的标准库得到了改进,这使得它提供了更多的函数和类型。此外,Rust 1.56 的标准库还改进了文档,这使得它更容易使用。
- 新的语言特性:Rust 1.56 支持了一些新的语言特性,包括模式匹配、枚举和结构体。这些新特性可以使代码更简洁和更易读。