I'm having an issue with prototype inheritance and I can't find out why it's not working properly.
The snippet is this:
function Field(newKey, val) {
this.key = newKey || "";
this.value = val || "";
}
Field.prototype.isEmpty = function() {
return this.value === undefined || this.value === null || this.value === "";
};
function DoubleField(newKey, val) {
this.base = Field;
this.base(newKey, val);
}
DoubleField.prototype = new Field();
DoubleField.prototype.constructor = DoubleField;
function IntegerField(newKey, val) {
this.base = DoubleField;
this.base(newKey, val);
}
IntegerField.prototype = new DoubleField();
IntegerField.prototype.constructor = IntegerField;
var f = new Field('keyfield', 'valField');
var d = new DoubleField('keydouble', 'valDouble');
var i = new IntegerField('keyinteger');
var res = f.isEmtpy();
The call to f.isEmpty is failing? Why? Calls to d.isEmpty or i.isEmpty work just fine as expected.
I cannot realize what I'm doing wrong. Any help would be much appreciated!
var res = f.isEmtpy();but it should bevar res = f.isEmpty();)