查看原文
其他

TS 4.9 中的 satisfies 操作符太有用了!

阿宝哥 全栈修仙之路 2023-02-02

TypeScript 4.9 版本引入了一个新的 satisfies 操作符,用于确保一个表达式匹配某种类型。那么该操作符有什么用途呢?下面我们先来看个例子:

type Point2D = { x: number, y: number };
const p: Partial<Point2D> = { x: 20 };

console.log(p.x.toFixed()); // Error
let p1 = p.y; // Ok

虽然我们知道 p 对象只包含 x 属性而不包含 y 属性,但 TypeScript 编译器无法正确推断出此信息。

那么如何解决上述问题呢?答案是使用 satisfies 操作符,其使用方式如下:

type Point2D = { x: number, y: number };
const p = { x: 20 } satisfies Partial<Point2D>;

console.log(p.x.toFixed()); // Ok
let p1 = p.y; // Error

该示例只是 satisfies 操作符的一个使用场景。为了让大家更好地掌握该操作符,接下来,我将举 4 个不同的示例来介绍它的其它用法。

提示:Android 平台 1 元 10 个微豆,iOS 平台 1 元 7 个微豆,购买时可切换平台充值。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存