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 static define un método estático para una clase.
Sintáxis
static methodName() { ... }
Descripción
Los métodos estáticos son llamados sin instanciar su clase. Son habitualmente utilizados para crear funciones para una aplicación.
Ejemplos
El siguiente ejemplo demuestra varias cosas. Una de ellas es cómo un método estático es implementado en una clase, otra es que una clase con un miembro estático puede ser sub-claseada. Finalmente demuestra cómo un método estático puede (y cómo no) ser llamado.
class Tripple { static tripple(n) { n = n | 1; return n * 3; } } class BiggerTripple extends Tripple { static tripple(n) { return super.tripple(n) * super.tripple(n); } } console.log(Tripple.tripple()); console.log(Tripple.tripple(6)); console.log(BiggerTripple.tripple(3)); var tp = new Tripple(); console.log(tp.tripple()); //Logs 'tp.tripple is not a function'.
Especificaciones
Specification | Status | Comment |
---|---|---|
ECMAScript 6 (ECMA-262) The definition of 'Class definitions' in that specification. |
Release Candidate | Initial definition. |
Compatibilidad de Navegadores
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 42.0 | Available in the Nightly channel only (since February 2015) | ? | ? | ? |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | ? | 42.0 | Available in the Nightly channel only (since February 2015) | ? | ? | ? |