标记的联合和使用文字类型标记

时间:2016-09-26 07:02:34

标签: typescript typescript2.0

在TypeScript 2.0中引入了标记的联合。要使用它们,我们必须在接口中引入一个判别属性,例如:

interface Action {
    type: "ACTION"
}

但是我无法使用字符串文字类型作为判别式:

let actionName: "ACTION"

interface Action {
    type: actionName <- error: cannot find name "actionName"
}

我想知道它是一个功能还是一个错误。

2 个答案:

答案 0 :(得分:0)

您的字符串文字定义错误。 let定义变量,而不是类型。它应该是:

type actionName = "ACTION"

interface Action {
    type: actionName;
}

答案 1 :(得分:0)

解决方案是使用以下表示法:

sudo chown -R muyiwaishola /usr/local/
sudo chown -R muyiwaishola /usr/local/bin/
sudo chown -R muyiwaishola /usr/local/share/
sudo chown -R muyiwaishola /usr/local/lib/node_modules