Course
What is JavaScript?-- operator-= operator++ operator+= operatorAccessing and setting contentArray concat() methodArray indexOf()Array lengthArray pop()Array shiftArraysBooleansBracesCallback functionCalling the functionClassClosureCode blockCommentConditionsConsoleConstructorCreating a p elementData typesDate getTime()DestructuringElseElse ifEnumEquals operatorError HandlingES6Event loopEventsExtendFetch APIFilterFor loopforEach()FunctionFunction bind()Function nameGreater thanHead elementHoistingIf statementincludes()Infinity propertyIteratorJSONLess thanLocal storageMapMethodsModuleNumbersObject.keys()Overriding methodsParametersPromisesRandomReduceRegular expressionsRemoving an elementReplaceScopeSession storageSortSpliceStringString concat()String indexOf()SubstringSwitch statementTemplate literalsTernary operatorTileType conversionWhile loop
Overriding methods in JavaScript
Overriding a method replaces the code of the method in the superclass with that of the subclass.
Call the receiveDamage()
method from the Wizard
class to see what happens to the health
property.
jsx
class Human {
constructor(weapon) {
this.weapon = weapon;
this.health = 100;
}
receiveDamage() {
this.health = this.health - 10;
}
}
class Wizard extends Human {
receiveDamage() {
this.health = this.health - 5;
}
}
const wizard = new Wizard("staff");
console.log(wizard.health);
wizard.receiveDamage();
console.log(wizard.health);
To override a method, we give it the same name and parameters as the method in the superclass.
We can override receiveDamage()
from the superclass by coding the same method in the subclass.
jsx
class Human {
constructor(weapon) {
this.weapon = weapon;
this.health = 100;
}
receiveDamage() {
this.health = this.health - 10;
}
}
class Wizard extends Human {
receiveDamage() {
this.health = this.health - 5;
}
}
const wizard = new Wizard("staff");
console.log(wizard.health);
wizard.receiveDamage();
console.log(wizard.health);