TypeScript05--高级类型(1)

2019-09-28  本文已影响0人  机智的老刘明同志

类型推论:

        TypeScript里,在有些没有明确指定出类型的地方,类型推论会绑定提供类型。

高级类型:

    交叉类型(&):

        将多个类型合并成一个类型,取两个类型的并集。与继承不同的是,继承可以有自己的属性,而交叉没有。

    联合类型( | ):

        声明的类型并不确定,可以是多个类型中的一个。

    类型保护:

        联合类型适合于那些值可以为不同类型的情况。 但当我们想确切地想了解某个值是否为某个类型时怎么办? JavaScript里可以检测其属性/值是否存在,但是在ts中会出现问题,如下所示

    类型保护的三种方法:

        这里补充typeof的类型保护仅限于判断 number string boolen symbol  四种类型       

    null与undefined

        null与undefined是任何类型的子类型。如下图所示,str是一个字符串,但是赋值null却没有报错。这是因为ts把变量str定义为 string|null的联合类型(这个可以在ts的配置文件中控制)

        可选参数实际上就是就是一个联合类型 (比如 number|undefined )

    字符串字面量:

        字符串字面量类型用来约束取值只能是某几个字符串中的一个。

        当然也不仅仅只限定于字符串

上一篇下一篇

猜你喜欢

热点阅读