代码之家  ›  专栏  ›  技术社区  ›  airportyh

字符串文字模式

  •  2
  • airportyh  · 技术社区  · 8 年前

    我看到了一些TypeScript和Redux示例,其中: pattern

    export const CREATE_TASK = 'CREATE_TASK';
    export type CREATE_TASK = typeof CREATE_TASK;
    

    我有点理解,第二行称为类型别名,它强制该类型的变量(名为CREATE\u TASK)包含字符串文字“CREATE\u TASK”。我怀疑这相当于本文中提到的“字符串文字类型”: https://www.typescriptlang.org/docs/handbook/advanced-types.html

    这是真的吗?有人能给我解释一下第二行吗?

    1 回复  |  直到 8 年前
        1
  •  3
  •   Jeff Mercado    8 年前

    这里有两件事在起作用,类型的定义和变量值的定义。

    第一行定义了一个变量 CREATE_TASK 有价值的 'CREATE_TASK'

    第二行定义了一个名为 创建任务 创建任务 碰巧是字符串的变量 。这相当于定义like so:

    export type CREATE_TASK = 'CREATE_TASK';
    

    除了不必再次输入字符串外,只需使用现有变量派生类型。