首页 > 其他分享 >TypeScript 4.9 - satisfies 操作符使用方法

TypeScript 4.9 - satisfies 操作符使用方法

时间:2022-12-06 11:44:53浏览次数:71  
标签:case TypeScript IConfig 4.9 number 类型 const satisfies

官方版本发布链接

https://devblogs.microsoft.com/typescript/announcing-typescript-4-9-beta/#the-satisfies-operator

新的 satisfies 操作符可以验证表达式的类型是否匹配某种类型,而不更改该表达式的结果类型。

The new satisfies operator lets us validate that the type of an expression matches some type, without changing the resulting type of that expression.

这句话怎么理解呢?
satisfies 可以用来捕获很多潜在的错误,例如确保一个对象是否符合某种数据类型(但不会改变对象本身的类型)。


/* 声明一个类型 TypeA */
interface TypeA {
  amount: number | string
}

const record = {
  amount: 20
} satisfies TypeA

/**
上面的写法:
既保证了 record 是符合 TypeA 类型的,
又不影响 record 的实际类型 为 :
{ 
  amount : number 
} 

所以在用 record.amount.toFixed(2) 时,
不必进行强制类型转换:
const num = record.amount as number 
num.toFixed(2)

**/

正文

下面我们举例介绍 satisfies 的使用场景。

旧时代的类型匹配

在说明之前,我们先来看一个以前旧时代的类型匹配 case :


interface IConfig {
  a: string | number
}

/**
 * 

标签:case,TypeScript,IConfig,4.9,number,类型,const,satisfies
From: https://www.cnblogs.com/eddyz/p/16954780.html

相关文章

  • TypeScript:Type 'boolean' is not assignable to type 'never'.
    问题原因当我们声明一个空数组而不显示键入它并尝试向其中添加元素时,会发生该错误。解决方案声明数组类型即可参考链接https://bobbyhadz.com/blog/typescript-arg......
  • TypeScript 之 Interface
    Interface描述:用来描述对象的形状,能够被继承常用语法(CommonSyntax)1.描述普通对象interfaceJsonResponse{version:number;outOfStock?:boolean;rea......
  • [Typescript] 127. Hard - Assign
    Youhaveatargetobjectandasourcearrayofobjects.Youneedtocopypropertyfromsourcetotarget,ifithasthesamepropertyasthesource,youshould......
  • 我要涨知识——TypeScript 常见面试题(二)
    又是一个年底来了,好大一批人可能又准备跑路了,最近回家待产话不多说,赶紧开干,给自己整了一个前端面试小助手——微信小程序内搜索“WEB学习学习加油站”,整理了前端经典高频......
  • [Typescript] 126. Hard - Two Sum
    Givenanarrayofintegers nums andaninteger target,returntrueiftwonumberssuchthattheyaddupto target./*_____________YourCodeHere________......
  • Typescript类型题材 - NumberRange
    题目中文有时我们需要限制数字的范围...示例:typeresult=NumberRange<2,9>//|2|3|4|5|6|7|8|9EnglishSometimeswewanttolimittheran......
  • Typescript类型题材 - ConstructTuple
    题目中文构造一个给定长度的元组。例如typeresult=ConstructTuple<2>//期望得到[unknown,unkonwn]EnglishConstructatuplewithagivenlength.Forexam......
  • TypeScript中使用NodeJs日期格式化库myjs-common
    依赖包安装#安装myjs-common包[email protected]格式器表达式YEAR_FORMAT:年格式化-yyyyMONTH_FORMAT:月格式化-yyyy-MMDATE_FORMAT:日期格式化-yyyy-MM-ddH......
  • [Typescript] 125. Extreme - Object Key Paths
    Getallpossiblepathsthatcouldbecalledby _.get (alodashfunction)togetthevalueofanobjecttypeT1=ObjectKeyPaths<{name:string;age:number......
  • TypeScript 常见方法
    TypeScriptArray(数组)数组对象是使用单独的变量名来存储一系列的值。数组非常常用。假如你有一组数据(例如:网站名字),存在单独变量如下所示varsite1="Google";varsite2......