Я пытаюсь создать набор повторно используемых объектов в javascript, и некоторые из парадигм управляемой инфраструктуры (например, .NET) не переводятся напрямую.
Например, не существует глобального метода getType()
или его эквивалента, и не существует функции-прототипа equals()
по умолчанию для объекта, которая даже просто выполняет базовое сравнение ссылок.
Так что, если я собираюсь заняться созданием определений объектов, как лучше написать прототип функции сравнения?
например. если я начинаю в том же духе, что и ниже, я направляюсь в правильном направлении или готовлюсь к боли позже?
РЕДАКТИРОВАТЬ: поместил код в той же строке, что и возврат в соответствии с предложением комментария
function Car(make, model, colour) {
this.make = make;
this.model = model;
this.colour = colour;
}
Car.prototype.equals = function(otherCar) {
// Check that 'otherCar' really is a 'Car' ?
// otherwise the property comparison code below with throw an exception, right?
// How?
// I could just use try / catch, but that could be 'expensive'?
// Property-for-property comparison
try {
return this.make === otherCar.make
&& this.model === otherCar.model
&& this.colour === otherCar.colour;
} catch(err) {
return false;
}
}