我知道纯函数不应该改变未作为参数传入的状态,但我不知道this
关键字是否是该规则的例外。这是我在想的一个简单示例:
class Car {
color: string = 'red';
make: string = 'Dodge';
constructor() {}
changeMake(newMake: string): string {
this.color = 'blue'; // <-- Is this impure?
return newMake;
}
}
这是不纯的吗?为什么或者为什么不?