Use the super() function to call the constructor of the parent class and access functions on an object’s parent class.
There are times a parent class and sub class can have same method names and parameter names. In those case, to avoid confusion between the parent class and sub class method names or parameter names, super keyword is used. In order to use a Super keyword, the child method must extend the parent class method.
Syntax
The syntax to represent the Super keyword is −
Super(arguments); // To call Super class arguments
Super.Parent_Method(arguments) // To call super class methods.
Where,
- arguments are the parameters of parent class or parent class method.
- Parent_Method is the Super class method.
Example
You can try to run the following code to implement super()
<!DOCTYPE html>
<html>
<body>
<script>
class Department {
constructor() {}
static msg() {
return 'Hello';
}
}
class Employee extends Department {
constructor() {}
static displayMsg() {
return super.msg() + ' World!';
}
}
document.write(Employee.displayMsg());
</script>
</body>
</html>
Example
This is an example program to define the usage of Super keyword by calling super class arguments.
<!DOCTYPE html>
<html>
<head>
<meta charset ="UTF-8">
<meta http-equiv ="X-UA-Compatible" content ="IE=edge">
<meta name ="viewport" content ="width=device-width, initial-scale =1.0">
<title>Super keyword in Javascript</title>
</head>
<body>
<p id="super" style="text-align : center"></p>
<script>
class Person{
constructor(person_name) {
this.name = person_name;
}
getPersonName() {
return this.name;
}
}
class Aadhar extends Person {
constructor(person_name,AadharID){
super(person_name);
this.AadharID = AadharID;
}
showAadharId() {
return 'The Aadhar ID for the person '+ this.getPersonName() +' is : '+this.AadharID;
}
}
var person_id = new Aadhar('Rajesh','5000 0000 0000 0000');
document.write(person_id.showAadharId());
</script>
</body>
</html>