如何将 javascript 对象解构赋值给已在 class 范围内声明的变量
How to perform a destructuring assignment of a javascript object to already declared variables inside the scope of a class
我需要你的帮助,因为我正试图在已经在 class 的范围内声明的变量中获取 javascript 对象的解构赋值......也就是说,我需要使用 {this.property, ... }
({ this.baseINSS,
this.baseIRPF,
this.discountINSS,
this.dependentesDiscount,
this.discountIRPF,
this.netSalary } = calculateSalaryFrom(element.target.value, Number(dependentes)));
上面提到的函数calculateSalaryFrom()
将return
{baseINSS: "9876",
baseIRPF: 9162.9,
dependentesDiscount: 0,
discountINSS: 713.1,
discountIRPF: 1650.44,
netSalary: 7512.459999999999,
percentageDependentes: "0.00",
percentageINSS: "7.22",
percentageIRPF: "16.71",
percentageSalary: "76.07"}
我得到 error TS1005: ':' expected.({ this.baseINSS,...
顺便说一下,我正在使用 angular 和 typescript
没有冒号的对象解构只能用于有效的独立标识符。例如
({ this.baseINSS } = someObj);
将不起作用,因为 someObj
的 属性 不是 this.baseINSS
- 它只是 baseINSS
.
虽然您可以在解构时重命名 属性:
({ baseINSS: this.baseINSS, discountINSS: this.discountINSS } = calculateSalaryFrom(...
这会变得重复。
解构在这里效果不佳。而是遍历 属性 个名称的数组。
const obj = calculateSalaryFrom(element.target.value, Number(dependentes)));
const props = ['baseINSS', 'baseIRPH', ...] as const;
for (const prop of props) {
this[prop] = obj[prop];
}
我需要你的帮助,因为我正试图在已经在 class 的范围内声明的变量中获取 javascript 对象的解构赋值......也就是说,我需要使用 {this.property, ... }
({ this.baseINSS,
this.baseIRPF,
this.discountINSS,
this.dependentesDiscount,
this.discountIRPF,
this.netSalary } = calculateSalaryFrom(element.target.value, Number(dependentes)));
上面提到的函数calculateSalaryFrom()
将return
{baseINSS: "9876",
baseIRPF: 9162.9,
dependentesDiscount: 0,
discountINSS: 713.1,
discountIRPF: 1650.44,
netSalary: 7512.459999999999,
percentageDependentes: "0.00",
percentageINSS: "7.22",
percentageIRPF: "16.71",
percentageSalary: "76.07"}
我得到 error TS1005: ':' expected.({ this.baseINSS,...
顺便说一下,我正在使用 angular 和 typescript
没有冒号的对象解构只能用于有效的独立标识符。例如
({ this.baseINSS } = someObj);
将不起作用,因为 someObj
的 属性 不是 this.baseINSS
- 它只是 baseINSS
.
虽然您可以在解构时重命名 属性:
({ baseINSS: this.baseINSS, discountINSS: this.discountINSS } = calculateSalaryFrom(...
这会变得重复。
解构在这里效果不佳。而是遍历 属性 个名称的数组。
const obj = calculateSalaryFrom(element.target.value, Number(dependentes)));
const props = ['baseINSS', 'baseIRPH', ...] as const;
for (const prop of props) {
this[prop] = obj[prop];
}