This is a new technology, part of the ECMAScript 2015 (ES6) standard.
This technology's specification has been finalized, but check the compatibility table for usage and implementation status in various browsers.
A palavra chave static define um método estático para a classe.
Sintaxe
static methodName() { ... }
Descrição
Método estáticos são chamados sem instanciação da classe deles e também não são chamáveis quando a classe é instanciada. Métodos estáticos são comumente usados para a criação de funções utilitárias para uma aplicação.
Exemplos
O exemplo a seguir demonstra várias coisas. Ele mostra como um método estárico é implementado em uma classe e como uma classe com um membro estático pode virar uma subclasse. Por fim, ele mostra como um método estático pode e não pode ser chamado.
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'.
Especificações
Especificação | Status | Comentário |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Class definitions' in that specification. |
Standard | Definição inicial. |
Compatibilidade com os navegadores
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Suporte básico | 42.0 | Nightly build | ? | ? | ? |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|
Suporte básico | Não suportado | Nightly build | ? | ? | ? | 42.0 |