类型保护是可执行运行时检查的一种表达式,用于确保该类型在一定的范围内。换句话说,类型保护可以保证一个字符串是一个字符串,尽管它的值也可以是一个数值。

类型保护特性检测并不是完全不同,其主要思想是尝试检测属性、方法或原型,以确定如何处理值。目前主要有四种的方式来实现类型保护,这里主要演示使用in关键字进行类型守卫;

interface YuZhouK{name:string,dis:number
}interface YuZhouV{name:string,mis:string
}type YouZhou = YuZhouK | YuZhouV;function testYouZhou(v:YouZhou){if('dis' in v){console.log("dis"+v.name);}if('mis' in v){console.log("mis"+v.name);}
}testYouZhou({name:'mayouchen',dis: 888});

typescript使用in关键字进行类型守卫相关推荐

  1. [TypeScript] 编程实践之1: Google的TypeScript代码风格3:类型

    TypeScript语言规范 3 类型 3.1 Any类型 3.2 基本类型 3.2.1 Number类型 3.2.2 Boolean类型 3.2.3 String类型 3.2.4 Symbol类型 ...

  2. 5.TypeScript入门之TS高级类型(class类)

    上一章节:4.TypeScript入门之TS常用类型(3) Ⅳ.TypeScript高级类型 概述 TS中的高级类型有很多,重点学习以下高级类型: class类 类型兼容性 交叉类型 泛型和 keyo ...

  3. 系统学习 TypeScript(五)——联合类型

    前言 在初步学习了 TypeScript 的变量声明后,对它的静态类型检查功能简直是爱不释手,但同时也发现一个问题:在正常的开发中,一个变量的类型有时可能不仅仅只限于 number 或者 string ...

  4. TypeScript真香系列-高级类型

    前言 TypeScript真香系列的内容将参考中文文档,但是文中的例子基本不会和文档中的例子重复,对于一些地方也会深入研究.另外,文中一些例子的结果都是在代码没有错误后编译为JavaScript得到的 ...

  5. TypeScript基础入门之高级类型的可辨识联合(Discriminated Unions)

    2019独角兽企业重金招聘Python工程师标准>>> 转发 TypeScript基础入门之高级类型的可辨识联合(Discriminated Unions) 高级类型 可辨识联合(D ...

  6. 【TypeScript】TS类型守卫(六)

  7. TypeScript 2.8引入条件类型

    最新发布的TypeScript 2.8包含了若干主要特性和一些问题修复,其中最为重要的是新增了条件类型,开发人员可以根据其他类型的特征为变量选择适当的类型. 条件类型最适合与泛型组合在一起使用.如果一 ...

  8. Go 学习笔记(27)— type 关键字(类型定义、类型别名、类型查询、定义接口、定义结构体)

    1. 类型别名定义 定义类型别名的写法为: type TypeAlias = Type 类型别名规定: TypeAlias 只是 Type 的别名,本质上 TypeAlias 与 Type 是同一个类 ...

  9. TypeScript 2.1中的类型运算 一个递归的Readonly泛型

    去年12月的 TypeScript 2.1 中加入了 keyof / Lookup Types / Mapped Types 等 (编译期的) 类型运算特性. 本文将介绍这些特性,并用这些特性实现一个 ...

最新文章

  1. [浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(一)
  2. mysql2000数据库四合一_MSSQL2000四合一
  3. xxx is not mapped 错误 解决方案
  4. 黄聪:UEditor如何在wordpress中调用
  5. ORA-00054:资源正忙,但指定以nowait方式
  6. golang学习笔记14 golang substring 截取字符串
  7. Deeping_Learning 02
  8. STM32F103 DMA方式GPIO输出
  9. DUTOJ-1013: 小q与面试题
  10. Word文件怎么在方框里面打对勾
  11. 网页上播放视频的免费的播放器_CKPlayer
  12. CE扫雷20211031
  13. java jcifs ntlm_Java 使用NTLM身份验证使用soap服务
  14. 太秀了!用Pandas秒秒钟搞定24张Excel报表,还做了波投放分析!
  15. easyUI form
  16. python用七巧板图片画个图_canvas练习 - 七巧板绘制
  17. 不干胶设计用什么软件制作_图小制图文设计制作:何其多的不干胶,你中意哪一种?...
  18. Flink流式计算从入门到实战 二
  19. 初中动画flash作品_初中动画flash作品_初中Flash动画设计基础知识试题及答案.doc...
  20. (一)数字图像处理简介

热门文章

  1. linux的lsof命令详解
  2. 人工神经网络之激活函数 -softmax函数
  3. mysql索引篇之覆盖索引、联合索引、索引下推
  4. 互联网公司Java面试总结
  5. Java架构经验总结
  6. SQL语句错误:Operand should contain 1 column(s)【查询多个字段不用加括号】
  7. 在未来给我们看病的将是医疗机器人?
  8. [Linux] Linux指令汇总(持续更新中...)
  9. ulimit问题 关于nproc设置
  10. 单IP无TMG拓扑Lync Server 2013:活动目录