美文网首页
TypeScript05--高级类型(1)

TypeScript05--高级类型(1)

作者: 机智的老刘明同志 | 来源:发表于2019-09-28 20:57 被阅读0次

    类型推论:

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

    高级类型:

        交叉类型(&):

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

        联合类型( | ):

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

        类型保护:

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

        类型保护的三种方法:

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

        null与undefined

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

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

        字符串字面量:

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

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

    相关文章

      网友评论

          本文标题:TypeScript05--高级类型(1)

          本文链接:https://www.haomeiwen.com/subject/maxructx.html