通过类型断言这种方式可以告诉编译器,“相信我,我知道自己在干什么”。 类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。 它没有运行时的影响,只是在编译阶段起作用。 TypeScript会假设开发人员已经进行了必须的检查。

类型断言有两种形式。 其一是“尖括号”语法:

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

第二种形式是as语法:

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

两种方式等价,但是在TypeScript里使用JSX时,只有 as语法断言是被允许的。

TypeScript的类型断言,有点像ABAP的强制类型转换相关推荐

  1. c语言不通类型指针转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...

    强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...

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

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

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

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

  4. TypeScript基本类型总结

    资料 先留存时间不够再改 基本类型 布尔值 let isDone: boolean = false; 数字 和JavaScript一样,TypeScript里的所有数字都是浮点数. 这些浮点数的类型是 ...

  5. char强制类型转换为int_为强制类型转换正名

    为强制类型转换正名​www.yexiaochen.com 引子 强制类型转换是JavaScript开发人员最头疼的问题之一, 它常被诟病为语言设计上的一个缺陷, 太危险, 应该束之高阁. 作为开发人员 ...

  6. TypeScript Type Assertions - 类型断言

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

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

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

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

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

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

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

最新文章

  1. 170亿参数加持,微软发布史上最大Transformer模型
  2. 视觉Transformer最新综述
  3. loadrunner中变量和参数之间的转化实例
  4. 《SAS编程与数据挖掘商业案例》学习笔记之十五
  5. LintCode: 3 Sum
  6. 什么时候需要使用cqrs_在CQRS读取模型中使用Hibernate进行快速开发
  7. C语言 | 递增运算符
  8. 计算机毕业设计源码分享双鱼林,计算机毕业课程设计论文源码-057双鱼林asp教务选课信息系统...
  9. Apache2.4.x与Apache2.2.x的一些区别
  10. bzoj 1637: [Usaco2007 Mar]Balanced Lineup
  11. JAVA毕业设计源码带论文和答辩、大作业、实例程序源码下载合集【56套】
  12. 网络编程(第一天)--TCP网络编程
  13. 工控行业学什么编程语言比较好_PLC五大主流编程语言你会几种?
  14. linux配置中端代理
  15. 蜂鸣器音乐代码 天空之城_歌单 | 音乐拥有魔力
  16. Visual SourceSafe基本操作
  17. 基于javaweb+jsp的晚会抽奖系统(java+Jdbc+Servlet+Ajax+mysql)
  18. Linux 服务具体解释
  19. php怎么设置段落之间的距离,html中P标签段落与CSS段落间距距离调整
  20. U盘安装CentOS7 解决各种问题

热门文章

  1. 央广记者在自律联盟现场采访京都贷执行董事长
  2. [Everyday Mathematics]20150113
  3. 转载 oracle12c 切换字符集
  4. 计算机图形学-MFC界面分屏操作
  5. 20145202马超《信息安全系统设计基础》实验四总结
  6. 关于mAdapter.notifyDataSetChanged()无效问题
  7. 最优化理论与方法(part5)--函数和微分
  8. 分布式与人工智能课程(part2)--第二课
  9. R语言与非参数检验之两独立样本中位数检验
  10. python与正则表达式(part4)--正则表达式分组