let notKnownType:unknown = 666 let num:number = 66 //使用typeof先判断unknown类型的值为number类型,然后才可以赋值给number类型 if(typeof(notKnownType) == "number") num = notKnownType //ok //使用断言,告知编译器我们知道unknown类型的变量此时存储的类型 num = notKnownType as number //ok 1. ...
unknown类型是typeScript中比较特殊的一种类型,它用于描述类型不确定的变量。 function foo() { return "abc" } function bar() { return 123 } let flag = true //定义result变量用于接受不同函数的返回值,那么在这里也就导致了我们在定义变量时无法确定该变量的类型 let result: unknown // 最好不要使用an...
log(`你的昵称是string类型${nickname}`) } else if (typeof nickname === 'number') { console.log(`你的昵称是number类型${nickname}`) } else { throw new Error('请检查类型') } } checkNickname('赤蓝紫') checkNickname(123) checkNickname(true) 从上面的例子中,可以看到checkNickname只是接受...
绕过编译阶段的检查,避免使用。 unknown。是any类型对应的安全类型。当unknown类型被确定是某个类型之前,它不能被进行任何操作,此时需要类型保护来完成类型的判断。 never。never类型表示的是那些永不存在的值的类型,never类型是任何类型的子类型,也可以赋值给任何类型;然而,没有类型是never的子类型或可以赋值给never类...
表示当返回true时,传进来的 user 必然是User// 如果参数user的类型是unknown,那么 typeof user.name...
typeNickname=string|numberfunctioncheckNickname(nickname:Nickname) {if(typeofnickname ==='string') {console.log(`你的昵称是string类型${nickname}`) }elseif(typeofnickname ==='number') {console.log(`你的昵称是number类型${nickname}`) }else{thrownewError('请检查类型') ...
In TypeScript, this syntax has had a pretty strange quirk: if theimportcould be resolved to a valid source file, then TypeScript would load and check the file. On the other hand, if no source file could be found, TypeScript would silently ignore theimport!
可以看到运行结果就被输出出来了,同时 typeof 就是这个变量的类型,结果是一个字符串,就是 boolean。 是不是很简单?基本套路就是在变量的后面跟一个冒号再跟一个类型声明就好了。 Number Number 即数值类型,对于这个类型,TypeScript 和 JavaScript 是一样的,Number 可以代表整数、浮点数、大整数。其中大整数需要单...
checkJS设置对 JS 文件同样进行类型检查。打开这个属性,也会自动打开allowJs。它等同于在 JS 脚本的头部添加// @ts-check命令。 {"compilerOptions":{"checkJs":true} } 8. composite composite打开某些设置,使得 TypeScript 项目可以进行增量构建,往往跟incremental属性配合使用。
switch(typeofmessage) { case'string': console.log('string处理方式处理message') break case'number': console.log('number处理方式处理message') break case'boolean': console.log('boolean处理方式处理message') break default: // 【增加boolean类型后,check报错,这样防止别人增加boolean类型后,不在函数体中编...