La herencia de clase ES6 usa la palabra clave extendidas, entonces, ¿cómo se implementa en ES5?
ES5 utiliza una combinación de constructor y prototipo de objeto para simular herencia, por lo que también se denomina herencia combinada;
El principio central: tomar prestado el constructor padre a través de call (), y señalar esto del tipo padre a esto del subtipo;
Esta herencia en realidad está llamando al constructor padre en el constructor hijo cuando se llama al constructor hijo para crear el objeto de instancia, entonces puede obtener los miembros del constructor padre y modificar esto del constructor padre llamado Simplemente apunte a una subfunción, el miembro será heredado en la subfunción;
En una palabra: use call () para llamar al constructor padre en el constructor hijo para lograr la herencia; recuerde modificar esto en el constructor padre a esto en la función hijo
función padre (uname, age) { this.uname = uame; this.age = age; } función Son (uname, age) { Father.call (this); }
Préstamo de método de herencia de objetos prototipo
Son.prototype = new father (); // Debido a que se puede acceder al método en el objeto prototipo de Father a través de la cadena de prototipos Son.prototype.constructor = Son; // La operación de asignación anterior hará que el constructor de Son apunte a Father