const T
5.0+
原先某些情况希望 T 固定的时候,需要在调用的时候,将变量使用 as const 进行固化,现在支持使用 const T,一开始就进行固化,便无需每次调用的时候再添加额外的代码
ts
declare function f2<T>(x: T): T
const r2 = f2({ a: 1 } as const) // T 推断为 { readonly a: 1 }
// after
declare function f3<const T>(x: T): T
const r3 = f3({ a: 1 }) // T 推断为 { readonly a: 1 }import defer
5.9
引入模块的时候,如果模块存在副作用,那么会立即执行,使用 import defer 可以将副作用时机延迟到具体某个导出变量使用的时候;
import defer * as feature from "./some-feature.js"
特点:
与普通 import 区别只在于,副作用执行时机
有效提升加载性能:当某个模块初始化比较重的时候,使用该方案可以有效延迟到该功能被真正使用到的时候
