javascript - 使用 typescript 声明类私有(private)变量时是否可以使用解构?

标签 javascript typescript ecmascript-6

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

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

但是在类型脚本中,诸如

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

它不再起作用了。

还有别的办法吗?

最佳答案

您可以使用 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 .

关于javascript - 使用 typescript 声明类私有(private)变量时是否可以使用解构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53630759/

相关文章:

Javascript - Iframe 加载所有父窗口脚本?

javascript - 如何在加载 AngularJS 之前初始化第三方 JavaScript 异步库

javascript - 如何使用例如正则表达式从属性获取文本?

visual-studio-2013 - jquery.d.ts 编译失败 : TsLint: exceeds maximum line length

javascript - 使用带有 JSPM 的自定义 Kendo-UI 构建

javascript - 在 Angular 2 中编写最基本的单元测试?

javascript - 通过 Angular 中的一组复选框控制显示的项目

typescript - nuxt3 自定义类型的简单指南

Typescript - 根据给定键确定子对象的类型

javascript - 在 JavaScript 中创建数组并用索引加一填充