我有一个获取参数并进行计算的方法。在这个方法中,会改变参数的值。当从该方法返回时,这些参数会继续传递到其他方法进行更多计算。
是否有一种方法可以通过引用将参数传递给方法,或者唯一的方法是将参数加入对象并返回它们?
我有一个获取参数并进行计算的方法。在这个方法中,会改变参数的值。当从该方法返回时,这些参数会继续传递到其他方法进行更多计算。
是否有一种方法可以通过引用将参数传递给方法,或者唯一的方法是将参数加入对象并返回它们?
使用JavaScript和TypeScript,您可以通过引用传递对象,但不能通过引用传递值。因此,请将您的值封装到一个对象中。
因此,不是:
function foo(value1: number, value2: number) {
value1++;
value2++;
}
做:
function foo(model: {property1: number; property2: number}) {
model.property1++;
model.property2++;
// Not needed but
// considered good practice.
return model;
}
const bar = { property1: 0, property2: 1 };
foo(bar);
console.log(bar.property1) // 1
console.log(bar.property2) // 2
在TS Playground上查看完整演示。
你可以将属性名称(必要时还可以包括对象)传递给一个方法