This is an experimental technology, part of the ECMAScript 6 (Harmony) proposal.
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future version of browsers as the spec changes.
La palabra clave super es usada para llamar funciones de un objeto padre.
Las expresiones super.prop
y super[expr]
son válidas en cualquier definición de método tanto para clases como para objetos literales.
Sintáxis
// llama al método constructor del objeto padre. super([arguments]); // llama cualquier otro método del objeto padre. super.functionOnParent([arguments]);
Descripción
Cuando es usado en un constructor, la palabra clave super
aparece sola lo cual invoca el constructor del objeto padre. En este caso debe usarse antes de que la palabra clave this
sea usada. La palabra clave super
también puede utilizarse para llamar otras funciones del objeto padre.
Ejemplo
Este código de ejemplo es tomado del ejemplo de clase (ejemplo en vivo).
class Square extends Polygon { constructor(length) { // Aquí llama el constructor de la clase padre Polygon con las // longitudes de ancho y alto que deben proveerse para esta super(length, length); // Nota: En clases derivadas, super() debe ser invocado antes de que // 'this' pueda ser usado, de lo contrario causaría un error de referencia. this.name = 'Square'; } get area() { return this.height * this.width; } set area(value) { this.area = value; } }
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
ECMAScript 6 (ECMA-262) The definition of 'super' in that specification. |
Release Candidate | Definición inicial. |
Compatibilidad de navegadores
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Soporte básico | 42.0 | Not supported bug 1066239 |
? | ? | ? |
Característica | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | |
---|---|---|---|---|---|---|
Soporte básico | ? | 42.0 | Not supported bug 1066239 |
? | ? | ? |