Ste*_*hlf 3 javascript class ecmascript-6
是否可以在 ES6 中实现相等运算符?
与其equals()在类中实现一个方法,不如使用
if (myClassObject1 === myClassObject2) {}
我们可以在 es6 javascript 类中实现自定义数学运算符吗?
在 c# 中,可以按如下方式覆盖它
public static bool operator ==(Complex x, Complex y)
{
return x.re == y.re && x.im == y.im;
}
public static bool operator !=(Complex x, Complex y)
{
return !(x == y);
}
Run Code Online (Sandbox Code Playgroud)
不,你不能这样做。
在==与===运营商的解释在这里,他们不能由程序员来改变。
一个典型的解决方法是定义一个“相等”函数并使用它。例如,使用来自lodash:
const a = { name: 'Alireza' };
const b = { name: 'Alireza' };
_.isEqual(a, b); // true
Run Code Online (Sandbox Code Playgroud)
Brendan Eich 在这里讨论了添加“值对象” 。
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |