在 Typescript 中,原语(字符串、数字、布尔值等)是按值传递的。所以,你可以(至少)做两件事
您可以将方法的返回值分配给value变量
changeValue(){
return 100;
}
this.value = this.changeValue();
或者你可以这样做:
changeValue(){
this.value = 100;
}
this.changeValue();
更新
正如Jeto在评论中提到的那样,即使您传递了一个对象而不是原语,结果也不会改变,因为您分配给对象本身而不是对象的属性。
value = {foo: 'bar'}
changeValue(v){
return v = {foo: 'baz'};
}
console.log(this.value); // {foo: 'bar'}
this.changeValue(this.value);
console.log(this.value); // {foo: 'bar'} #Unchanged
但是如果你想改变它的属性而不是对象本身,它会起作用
value = {foo: 'bar'}
changeValue(v){
v.foo = 'baz'
}
console.log(this.value); // {foo: 'bar'}
this.changeValue(this.value);
console.log(this.value); // {foo: 'baz'} #Changed