TypeScript - how to:以"."开头的属性(点)



当调用。net OAuthToken端点时,结果包含两个以"开头的属性。":

{   
    "access_token":"abcde..."
    "expires_in":1209599
    ".expires":"Fri, 16 May 2014..."    <- this
    ".issued":"Fri, 02 May 2014..."     <- this
    ... more properties ...
}
我想做的是在TypeScript中创建一个接口来处理这个结果。然而,我不知道如何声明这两个属性与前面的小点。
export interface Token {
    access_token: string;
    expires_in: number;
    .expires???
    .issued???
}

任何想法?

查看TypeScript语言规范的3.7.1节,看起来对象字面量中的属性签名与JavaScript中的对象字面量属性定义是一样的,这意味着属性名可以是标识符、字符串字面量或数字字面量。换句话说,您可以简单地这样做:

export interface Token {
    access_token: string;
    expires_in: number;
    ".expires": string;
    ".issued": string;
}

只使用带引号的接口成员:

interface Token {
    access_token: string;
    expires_in: number;
    '.expires': number;
}
var foo:Token;
foo['.expires'] = '123'; // Error 
foo['.expires'] = 123; // okay 

相关内容

  • 没有找到相关文章