Typescript 如何防止在变量中传递类型值时发生扭曲

Typescript 如何防止在变量中传递类型值时发生扭曲,typescript,Typescript,下面的f(c)有细水雾。但我不想让它们代表f(va),这有可能吗 type TParam = 'a' | 'b'; function f(param: TParam) { alert(param); } f('a'); f('b'); f('c'); let va = 'a'; f(va); va的默认类型是string(这通常是您想要的)。但您可以缩小va的类型以匹配您的签名: let va: 'a' = 'a';

下面的f(c)有细水雾。但我不想让它们代表f(va),这有可能吗

    type TParam = 'a' | 'b';
    function f(param: TParam) {
      alert(param);
    }

    f('a');
    f('b');
    f('c');
    let va = 'a';
    f(va);

va
的默认类型是
string
(这通常是您想要的)。但您可以缩小
va
的类型以匹配您的签名:

let va: 'a' = 'a';
f(va)