使用Typescript声明类私有变量时可以使用解构吗?

时间:2018-12-05 11:01:19

标签: javascript typescript ecmascript-6

通常,当多个变量来自同一对象时,我会使用

const [ foo, bar, foobar ] = [ 'foo', 'bar', 'foobar' ]

但是在类型脚本中,类似

class Test {
    private {a,b,c} = tool;
}

它不再起作用了。

还有其他方法吗?

1 个答案:

答案 0 :(得分:4)

您可以使用Object.assign获得相同的结果...

class Test {
    private a: number;
    private b: string;
    private c: boolean;

    constructor(arg: { a: number, b: string, c: boolean}) {
        Object.assign(this, arg);
    }
}

const tool = {
    a: 5,
    b: 'str',
    c: true
}

const test = new Test(tool);

console.log(JSON.stringify(tool));

解构参数的功能仍然是active in discussion on GitHub