Node.js 如何将扩展运算符与';这个';?

Node.js 如何将扩展运算符与';这个';?,node.js,typescript,spread-syntax,Node.js,Typescript,Spread Syntax,我正在用TypeScript定义一个类。 因此,通过spread操作符,我可以发布如下内容: class Foo { constructor(data: IDataStructure){ const { ...k } = data; // and then k has taken over all the properties of data. Great! } public render () { return(<div/> ); }

我正在用TypeScript定义一个类。 因此,通过spread操作符,我可以发布如下内容:

class Foo {
  constructor(data: IDataStructure){
      const { ...k } = data; // and then k has taken over all the properties of data. Great!
  }

  public render () {

    return(<div/>

   );
  }
}
class-Foo{
构造函数(数据:IDataStructure){
const{…k}=data;//然后k接管了数据的所有属性。太好了!
}
公开渲染(){
返回(
);
}
}

现在,我想做同样的事情,但不是把属性放在
k
中,而是放在正在创建的当前对象中。也就是说,我想做一些类似于
const{…this}=data的事情
在Typescript中有什么聪明的方法可以做到这一点吗?

您不能使用spread向现有对象添加属性。目前还没有一种语法方法可以做到这一点;相反,请使用:

示例(JavaScript):

类示例{
建造师(数据){
分配(此,数据);
}
}
const e=新示例({答案:42});

console.log(e.answer);//42
不能使用“排列”向现有对象添加属性。目前还没有一种语法方法可以做到这一点;相反,请使用:

示例(JavaScript):

类示例{
建造师(数据){
分配(此,数据);
}
}
const e=新示例({答案:42});

console.log(e.answer);//42
..
不是(也不能是)操作员。这只是主要语法。
不是(也不能是)运算符。这只是主要的语法。我刚刚发现它实际上不起作用。它实际上是在搞砸你的课堂。从那时起,每当你想访问类thourough'this'的变量时,它就被搞砸了,因为'this'现在指向数据。@Jose-不,它不是<代码>此具有
数据
上内容的浅拷贝。我在答案中添加了一条关于深度克隆的注释,但你的问题中没有任何内容表明你想要深度复制。我刚刚发现它实际上不起作用。它实际上是在搞砸你的课堂。从那时起,每当你想访问类thourough'this'的变量时,它就被搞砸了,因为'this'现在指向数据。@Jose-不,它不是<代码>此具有
数据
上内容的浅拷贝。我在答案中添加了一条关于深度克隆的注释,但您的问题中没有任何内容表明您需要深度复制。
Object.assign(this, data);