typescript笔记-day5
类型查询操作符
typeof
:用于基本类型
类型守卫
is
- is 关键字 + 预期类型。如果这个函数成功返回为 true,那么 is 关键字前这个入参的类型,就会被这个类型守卫调用,方便后续的类型控制流分析。
function isString(input: unknown): input is string { |
in
- 通过
key in object
的方式来判断 key 是否存在于 object 或其原型链上(返回 true 说明存在)。
interface Foo { |
instanceof
- 类似于 typeof 与 in 的操作符,用于引用类型,包括判断A是否是B的实例
class FooBase {} |
类型断言守卫asserts
- 断言守卫和类型守卫最大的不同点在于,在判断条件不通过时,断言守卫需要抛出一个错误,类型守卫只需要剔除掉预期的类型。
function assert(condition: any, msg?: string): asserts condition { |
接口合并
继承
extends
接口合并,这些同名属性的类型仍然需要兼容
interface Struct1 { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 晚风予星!
评论