首页 > 其他分享 >类型推论和类型断言

类型推论和类型断言

时间:2023-12-12 23:24:04浏览次数:40  
标签:推论 断言 number let 类型 someValue string

类型推论

1.定义

在TS中,某些没有明确指定类型的地方,TS的类型推断机制会帮助提供类型

2.发生类型推断的2种常见场景

2.1 声明变量并初始化

let str = 'str';
// str = 111;  报错,因为ts已经将它推断成一个string类型

2.2 决定函数返回值时

function add(num1: number, num2: number) {
  return num1 + num2;
}

类型断言

类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构

类型断言有两种形式

1.“尖括号”语法

let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;

2.as语法 (推荐使用)

let someValue: any = 'this is a string';
let strLength: number = (someValue as string).length;

标签:推论,断言,number,let,类型,someValue,string
From: https://www.cnblogs.com/youbiaokachi/p/17898095.html

相关文章

  • kotlin 泛型的类型擦除和实化类型参数
    JVM上的泛型一般是通过类型的擦除实现,就是泛型类实例的类型实参在运行时不保留。但是可以通过声明为inline函数使其类型实参不被擦除那么对类型擦除有啥好处呢?应用程序使用的内存总量较小,因为要保存在内存中的类型信息更少。一、类型检查和转换1、类型检查因为类型会被擦除,那......
  • 接口类型
    接口1.接口继承(extends)如果两个接口之间有相同的属性和方法,可以将公共的属性和方法抽离出来,通过继承来复用interfacePoint1D{x:number;}interfacePoint2DextendsPoint1D{y:number;}interfacePoint3DextendsPoint2D,Point1D{z:number;}letpoint3d:......
  • 4.对象类型
    对象类型letpreson:{name:string;age:number;//sayHi():void;//也可以使用箭头函数sayHi:()=>void;}={name:'张三',age:18,sayHi(){console.log('hi');},};可选参数(属性名后加?)比如我们在发送axiosget请求时,可以忽略metho......
  • 2.高级类型
    联合类型|类型别名|交叉类型7.1联合类型,使用|来连接多个类型letperson:'male'|'female';person='male';person='female';letstrOrBool:string|boolean;strOrBool='hello';strOrBool=false;7.2类型别名(自定义类型),使用关键字t......
  • 1.变量的声明-原始类型
    变量的声明-基础类型/*前言:如果变量的声明和赋值是同时进行的,TS可以自动对变量进行类型检测这里ts自动将variable推断为boolean类型----类型推断机制*/letvariable=false;variable=true;1.number数字类型/*注意:TypeScript里的所有数字都是浮点数,没有......
  • 第二节 数据类型
    数据类型Kotlin的基本数据类型与Java、C++基本对应。事实上绝大多数程序语言的基本数据类型都差不多。在Java中8中基本数据类型不属于类,也就不具备“对象”特征,无法进行面向对象操作。Java的解决方案是提供包装类将基本数据类型进行封装,使之每个包装类对象封装一个基本数据类型......
  • 设备电源管理数据类型【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/driver-api/pm/types.htmlstructdev_pm_opsdevicePMcallbacks.Definition:structdev_pm_ops{int(*prepare)(structdevice*dev);void(*complete)(structdevice*dev);int(*suspend)(structdevice*dev)......
  • 从根上理解elasticsearch(lucene)查询原理(2)-lucene常见查询类型原理分析
    大家好,我是蓝胖子,在上一节我提到要想彻底搞懂elasticsearch慢查询的原因,必须搞懂lucene的查询原理,所以在上一节我分析了lucene查询的整体流程,除此以外,还必须要搞懂各种查询类型内部是如何工作,比如比较复杂的查询是将一个大查询分解成了小查询,然后通过对小查询的结果进行合并得到......
  • 1.5万字 + 25张图盘点RocketMQ 11种消息类型,你知道几种?
    大家好,我是三友~~故事的开头是这样的最近有个兄弟私信了我一张截图我一看截图内容,好家伙,原来是我一年多前立的flag倒不是我忘了这件事,我后来也的确写了一篇的关于RocketMQ运行的原理的文章只不过这篇文章是从上帝的视角去看待RocektMQ一条消息整个生命周期的过程所以就没有......
  • java基本类型包装类
    一、概述  二、Integer包装类 三、int和String的转换 1、方式一 2、方式二 3、方式三 4、方式四 四、自动装箱和拆箱 五、日期格式化 示例: ......