TypeScript 联合类型

在 TypeScript 中,联合类型(Union Types)允许一个变量具有多种不同类型。这意味着一个变量可以存储多种类型的值,而不限定于单一类型。

基本语法

要声明一个联合类型,可以使用竖线 | 分隔每个可能的类型。例如:

--- ------ ------ - -------

上面的代码表示 myVar 可以是 string 类型或 number 类型。当我们给 myVar 赋值时,可以是字符串或数字,如:

----- - --------
----- - ----

使用联合类型的场景

函数参数

联合类型在函数参数中非常有用。例如,我们有一个函数 printId,接受一个字符串或数字作为参数,并打印出该参数的值。

-------- ----------- ------ - ------- -
    ----------------
-

--------------- -- ------
-------------   -- ------

可选属性

当我们需要一个属性可以是多种类型或 undefined 时,可以使用联合类型。例如,一个对象可能有一个 age 属性,可以是数字或 undefined

--------- ------ -
    ----- -------
    ----- ------ - ----------
-

--- -------- ------ - - ----- ------- --
--- -------- ------ - - ----- ------ ---- -- --

--------------------- -- ---- ----- ------- -
--------------------- -- ---- ----- ------ ---- -- -

类型保护

在使用联合类型时,我们可能需要对变量进行类型检查,以确保在使用变量时不会出现类型错误。可以使用类型保护来实现这一点。

类型断言

类型断言是一种告诉编译器某个值的类型的方法。在使用联合类型时,可以使用类型断言来明确告诉编译器变量的类型。

--- ------ ------ - ------ - --------
-- ------- -- -------------------- -
    ------------------ -- -----------------------
-

typeof 类型保护

使用 typeof 关键字可以进行类型保护,例如:

-------- ----------------- ------ - ------- -
    -- ------- ----- --- --------- -
        ---------------------------------
    - ---- -
        ------------------------------
    -
-

-------------------- -- --------
-------------------- -- -------

总结

联合类型是 TypeScript 中强大且灵活的特性,能够帮助我们更好地处理多种类型的情况。通过合理地运用联合类型,可以使代码更加健壮和灵活。


上一篇:TypeScript 元组
下一篇:TypeScript 接口