条件语句允许我们根据条件的真假决定程序的执行路径,从而实现根据不同情况做出不同的响应。TypeScript 是一种静态类型的编程语言,它提供了多种条件语句来帮助我们处理复杂的程序逻辑。本文将详细介绍 TypeScript 中常用的条件语句,包括if语句、if-else语句、switch语句和三元运算符等。
TypeScript是一种静态类型检查的编程语言,它可以在编译时检测出代码中的类型错误。在TypeScript中,我们可以使用变量来存储类型检查的结果,并在if语句中使用。 具体步骤如下: 1. 定...
functiontoUpperCase(x:unknown){if(isString(x)){x.toUpperCase();// ⚡️ x is still of type unknown}} TypeScript throws an error. We can be sure that x is of type string at this point. But since the validation is wrapped in a function, the type of x does not change (as opposed...
if (num > 0) { console.log("num 是正数"); } else { console.log("num 是负数"); } 上述代码中,当num小于或等于0时,if语句中的代码块将不会被执行,而是执行else代码块,输出结果为num 是负数。 多重if-else 语句 我们可以使用多个if-else语句来编写更复杂的程序逻辑。每个if-else语句都会根据特定的...
if(isType1(type)) { type.func1() } else { type.func3(); } 注意意TypeScript不仅知道在if分支里Type是Type1Class类型;它还清楚在else分支里,一定不是Type1Class类型,一定是Type2Class类型。 typeof类型保护 我以上篇文章[TypeScript基础入门之高级类型的交叉类型和联合类型]的padLeft代码的代码为例,看看...
if(condition) {// 当条件为真时执行的代码块} condition是一个布尔表达式,如果它的值为true,则会执行if语句中的代码块。如果condition的值为false,则代码块将被跳过。 letnum:number=10;if(num >0) {console.log("num 是正数"); } 上述代码中,当num大于0时,if语句中的代码块将会被执行,输出结果为num...
//'swim' 和 'fly' 调用都没有问题了if(isFish(pet)) { pet.swim(); }else{ pet.fly(); } 注意,TypeScript不仅知道在if分支里pet是Fish类型; 它还清楚在else分支里pet一定是Bird类型,这得益于类型保护的实现。 2.typeof类型保护 现在我们可以使用类型保护来重构一开始的padLeft代码了,可以考虑用联合类...
if (responseIsbar(response)) { // 过滤掉不需要掉数据,在这里对数据进行自定义格式化处理 return { firstLastName: [response.firstName, response.lastName] } as const } else { throw Error("response is not of type IApiResponse") } }
is关键字一般用于函数返回值类型中,判断参数是否属于某一类型,并根据结果返回对应的布尔类型。 语法:prop is type 2. 举例说明 在一些兑换码场景,经常会需要将兑换码全部转为大写,之后再进行判断: functionisString(s:unknown):boolean{returntypeofs==='string'}functiontoUpperCase(x:unknown){if(isString(x))...
function isApiError (error:Error) {if(typeof (error as apiError).code == 'number') {returntrue}returnfalse} 操作符 typeof 获取一个变量申明或者一个对象的类型 interfacePerson{name:string; }consttom:Person= {name:'tom'}typeTom=typeoftom// --> PersonfunctiontoArray(x:number):Array<number...