5、TypeScript类型推导
2022-03-31 13:04:32 0 举报
AI智能生成
前端开发,TS学习,TS,TS类型
作者其他创作
大纲/内容
类型推论
定义
指编程语言中能够自动推导值的类型的能力,<font color="#b71c1c"><b>它是一些强静态类型语言中出现的特性</b></font>
条件
如果<b><font color="#b71c1c">定义的时候就赋值</font></b>就能利用到类型推断
<b><font color="#b71c1c">定义时未赋值就会推论成 any 类型</font></b>
举个🌰
定义时赋值推断
报错
报错详细信息,<b><font color="#b71c1c">变量x的类型被推断为数字。</font></b>
这种推断发生在初始化变量和成员,设置默认参数值和决定函数返回值时。<br>
定义时不赋值时
可以赋任何值都不抛错
<b><font color="#b71c1c">定义的时候没有赋值,被推断为 any</font></b>
如果<b><font color="#b71c1c">定义的时候没有赋值,不管之后有没有赋值,都会被推断成 any 类型而完全不被类型检查</font></b>
类型断言
定义
类型断言<b><font color="#b71c1c">可以将</font></b>一个<b><font color="#b71c1c">联合类型的变量</font></b>,<b><font color="#b71c1c">指定</font></b>为一个更加<b><font color="#b71c1c">具体的类型</font></b>
联合类型
表示取值可以为多种类型中的一种
详细后面写
语法
值 as 类型
值 as 类型<br>
<类型>值
<类型>值<br>
注意
在 tsx 语法(React 的 jsx 语法的 ts 版)中必须使用前者,即 值 as 类型。
条件
不能将联合类型断言为不存在的类型
name 中不存在 boolean 类型,断言抛错
非空断言
非空断言
定义
在上下文中当<b><font color="#b71c1c">类型检查器无法断定类型时</font></b>,一个新的<b><font color="#b71c1c">后缀表达式操作符 ! </font></b>可以<b><font color="#b71c1c">用于断言操作对象是非 null 和非 undefined 类型</font></b>。<br>
<b><font color="#b71c1c">x! 将从 x 值域中排除 null 和 undefined </font></b>。
条件
"strictNullChecks": true 编译下
举个🌰
编译报错
因为e 为可选参数,所以有可能不传,<br>不传时 e 的值为 undefined , undefined接着调用 name 就会抛出异常<br>
解决办法
此时只需要加上 ! 就能避免错误
从 e 的类型中排出 unedfined 后,访问 name 属性
0 条评论
下一页