有没有办法在打字稿界面中只有get(没有设置)?

时间:2014-05-29 15:14:19

标签: interface typescript

我有一个案例,我希望在界面中只有一个get,没有设置。有没有办法做到这一点?

如果没有,我们可以实现一个set并在调用它时抛出异常。但如果我们能得到一个更好的清洁它会更清洁。

目前我有:

export interface IElement {
    type : TYPE;
}

export class Element implements IElement {

    public get type () : TYPE {
        return TYPE.UNDEFINED;
    }

    public set type (type : TYPE) {
        this.type = type;
    }
}

我想拥有我的界面&课程是:

export class Element implements IElement {

    public get type () : TYPE {
        return TYPE.UNDEFINED;
    }
}

1 个答案:

答案 0 :(得分:1)

TypeScript接口当前无法将属性定义为只读。如果防止这一点很重要,则需要在运行时抛出异常/错误,以防止属性的setter中的集合。

编译器不要求您实现getset。例如,您可以实现get。但是,在运行时,它不会被捕获。