Node.js 如何将扩展运算符与';这个';?
我正在用TypeScript定义一个类。 因此,通过spread操作符,我可以发布如下内容: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/> ); }
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);