联合类型|交叉类型|类型断言
一、联合类型
常见的问题,返回的电话号码是数字型还是字符型,这可能是不确定的,这时候可以使用联合类型我们可以这样写:
还有就是常见的返回布尔值,数据库一般不存布尔值,一般是0或1,这时候可以写一个转换方法,不管返回的是布尔值还是0或1都可以进行转换为布尔值,如下:
二、交叉类型
交叉类型我们可以理解和 && ,帮助大家理解,可以看下图:
因为使用了交叉类型,所以方法里面的参数必须要将Person和Information里面的属性都填写,当然,如果你使用了可选择的属性,那就不是必须了。
三、类型断言
个人理解,当你有两个或多个类型时,例如一个函数的参数可以是数字型和数组型,你想要的时数组型的长度属性,直接写是报错的,因为这时候函数只能读取这两个类型的公共属性,如下:这时候可以使用类型断言,但是类型断言后,执行的结果不一定是正确的,但是可以‘欺骗’编辑器。如下:
这时候尽管我们调用方法且传入的参数是数字型,运行也是不会报错的,当然我们可以在将num断言成any类型,这样也是不会报错的。