Жасмін має вбудовані збіги toBe
та toEqual
. Якщо у мене є такий об’єкт:
function Money(amount, currency){
this.amount = amount;
this.currency = currency;
this.sum = function (money){
return new Money(200, "USD");
}
}
і спробуйте порівняти new Money(200, "USD")
та результат суми, ці вбудовані збіги не працюватимуть належним чином. Мені вдалося здійснити обхід на основі власного equals
методу та спеціального збігу, але це, здається, багато працює.
Який стандартний спосіб порівняння об’єктів у Жасмині?
==
і===
є абсолютно неправильним. Два різні екземпляри об’єкта з однаковим вмістом повернуть значення false. Для будь-яких примітивів==
і===
поводитись однаково. jsfiddle.net/9mrmyrs6