Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Como implementar static em js


Rafael Laurindo

Pergunta

Bom galera, gostaria de saber se é possível implementar atributo e/ou método estático em js? Eu sei que se, mascararmos uma herança, chamando uma classe dentro de outra com o "call(this)", tem, mas isso, como já dito antes, é herança é o mesmo que usar o extends no PHP, é uma classe dividido em duas. Isso não tem a mesma idéia do static. Alguma sujestão?

Editado por Rafael Laurindo
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Static é uma variável que não muda conforme novas instâncias. Ou seja, é uma variável de classe e não uma variável de instância.

var Pessoa = {
    contador : 0,
    Class : function(){
        Pessoa.contador ++
        this.nome = "Edu"
    }
}

Na classe pessoa, eu tenho a variável static contador. Você sempre pode alterá-la acessando diretamente por Pessoa.contador.

Dessa forma, você tem uma classe e uma variável de classe. Class é uma variável static também, só que eu utilizo para servir de construtor para o objeto.

Link para o comentário
Compartilhar em outros sites

  • 0

Não sei lhe explicar o motivo, provavelmente porque alguém quis assim ^_^. Um objeto JSON não é muito mais que uma array (também é possível pensar em objetos como sendo um), a principal diferença é a notação.

Por exemplo, o código acima poderia ser escrito mais ou menos assim:

var Pessoa=new function(){
this.contador=0
this.Class=function(){
Pessoa.contador++
this.nome="Edu"
}
}
Ou, se preferir:
var Pessoa=new Array()
Pessoa.contador=0
Pessoa["Class"]=function(){
Pessoa["contador"]++
this.nome="Edu"
}

Note que é válido o operador [] em objetos, assim como o . é válido em arrays.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...