类型断言表示:

<类型> 值
值 as <类型>

类型断言原理:

(1)不确定一个联合类型的变量到底是哪个类型的时候,我们只能访问此联合类型的所有类型里共有的属性或方法;
(2) 类型断言不是类型转换,断言成一个联合类型中不存在的类型是不允许的;

举例说明:

报错代码:

function getLength(something: string | number): number {if (something.length) {return something.length;} else {return something.toString().length;}
}

使用断言:

function getLength(something: string | number): number {if ((<string>something).length) {return (<string>something).length} else {return something.toString().length}
}

typescript类型断言相关推荐

  1. TypeScript Type Assertions - 类型断言

    有时,您会获得有关 TypeScript 不知道的值类型的信息. 例如,如果你使用 document.getElementById,TypeScript 只知道这会返回某种 HTMLElement,但 ...

  2. TypeScript的类型断言,有点像ABAP的强制类型转换

    通过类型断言这种方式可以告诉编译器,"相信我,我知道自己在干什么". 类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构. 它没有运行时的影响,只是在编译阶段起作用. ...

  3. TypeScript学习(七):类型断言

    前面我们提到了值类型,在我们设置值类型的时候,有一种定义方式就是联合类型的设定,如下: let a: number | string; a = 1; // 类型推论:此时变量a为number类型 a ...

  4. TypeScript中的“as const”是什么意思?类型断言!

    as const 也是类型断言的一种 这被称为const断言.const断言告诉编译器为表达式推断出它能推断出的最窄或最特定的类型.如果不使用它,编译器将使用其默认类型推断行为,这可能会导致更广泛或更 ...

  5. TypeScript中的联合类型、类型别名、接口、类型断言

    一.联合类型 在TypeScript中,联合类型(Union Types)是指用"|"符号将多个类型组合成一个的类型.这种类型可以包含不同的类型,例如字符串.数字或对象.这些不同类 ...

  6. 【TypeScript专题】之类型断言

    [TypeScript 专题]之类型断言 断言是编程术语,表示为一些布尔表达.-- 百度百科 系列文章,收藏不走丢哦 类型断言(Type Assertion)可以用来手动指定一个值的类型.就是告诉编译 ...

  7. 零基础入门Typescript—类型推论,联合类型和类型断言

    类型推论 - type inference 在类型脚本中,有的地方使用类型推论在没有明确类型注释时提供类型的信息 例如: let x = 3; 我们没有声明类型,但是类型推论其为number类型 联合 ...

  8. typescript 数据类型、函数返回值、类型断言、联合类型、类型兼容

    null和undefined类型:是所有类型的子类型,即可以将任意类型赋值为二者any类型:可以赋值任何类型unknown类型:引入的顶级类型unknown,对照于any,unknown是类型安全的, ...

  9. TypeScript类型检查机制

    类型推断 指不需要指定变量的类型,TS编译器可以根据某些规则自动推断出类型. 什么时候会有类型推断? 声明变量时没有指定类型 函数默认参数 函数返回值 ...... let a; // 这时自动推断为 ...

最新文章

  1. Visual Paradigm 教程[UML]:如何在序列图中使用持续时间约束?
  2. Android数据保存之SharedPreference
  3. jQuery find 和 filter 方法的区别
  4. 【操作系统】多道程序的理解
  5. 生成模型和判别模型直接的区别
  6. 经典测试用例--水杯测试
  7. java二路归并排序算法,Java排序算法总结之归并排序
  8. 华为第1书:《华为交换机学习指南》当当网预售中
  9. 在Vue中使用Aliplayer,做视频播放或者视频监控
  10. 仿新浪微盾客户端项目简介一
  11. (一)Latex源文件的基本结构
  12. 计算机光盘无法格式化,win10无法格式化dvd光盘
  13. msm8953 LCD移植详解
  14. 靠问卷调查做副业,在家月入过万:聪明的人,从不挣辛苦钱!
  15. 过劳肥算不算工伤?职场人如何避免工作过劳肥?
  16. [校园网]绕过校园网使用自己服务器流量教程
  17. python将多个表的数据合并到一个表
  18. 金融区块链标准规范解读
  19. 75道经典AI面试题,我就想把你们安排的明明白白的!(含答案)
  20. 迈卓诺(Metronor)光笔测量仪--大型模具的测量利器

热门文章

  1. elasticsearch api中的get操作
  2. TCP的状态转换及生产问题实操
  3. 机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(二)
  4. mysql 字符串类型
  5. 机器学习——前馈神经网络
  6. synchronized 与 ReentrantLock
  7. spring boot与spring mvc的区别是什么?
  8. AI机器人不认同人类语言 产生自己的交流方式 Facebook关闭了他们的人工智能系统...
  9. Linux学习笔记2_centos7远程登陆前的总结
  10. Linux errno 列表