O que são acessadores de objetos JavaScript

O que são acessadores de objetos JavaScript

Os acessadores de objetos JavaScript são usados ​​para acessar e atualizar os objetos e duas palavras -chave usadas para esta função são getter e o outro é o setter. JavaScript introduziu Getters e Setters em ES5 em 2009.

Veremos o que são getters e setters e como utilizá -los em javascript neste tutorial, além de examinar por que você deve usar métodos de get ou definir de javascript. Além disso, discutiremos o objeto.DefineProperty () também. No final, abordaremos alguma luz sobre o qual o navegador suporta o conjunto e obter métodos. Então vamos começar.

Obtenha palavra -chave

O método get é usado para recuperar um valor, como o nome implica, e no mundo técnico, ele pode ser definido como um aglutinante de uma propriedade de objeto para uma função que é chamada quando a propriedade é desejada. Não podemos obter o valor até acessar o método Get. No entanto, definimos a propriedade do objeto de antemão.

Exemplo:

const player =
Nome: "Hazard",
Clube: "Chelsea",
camisa: 10,
Get ClubName ()
devolver isso.clube;

;
Alerta (jogador.nome do clube);

Neste exemplo, usamos o ClubName Property Para obter o valor da propriedade do clube.

Defina a palavra -chave

É o oposto da palavra -chave Get. É usado para definir um valor. No mundo técnico, ele pode ser definido como um fichário de uma propriedade de objeto para uma função quando queremos definir uma propriedade.

Exemplo:

const player =
nome: "",
Clube: "Chelsea",
camisa: 10,
// Definindo o nome de um jogador
set setName (setName)
esse.nome = setName ;;

;
// Passando/Configurando o nome I-E Objeto Propriedade usando um Setter
jogador.setName = "Mount";
// vamos ver os dados através de um alerta
Alerta (jogador.nome);

Neste exemplo, criamos um objeto primeiro. Nesse objeto, criamos um método de conjunto usando o Set Keyword, onde estamos definindo o nome do jogador que é passado para ele. Após o objeto, definimos o nome do jogador e depois exibimos o resultado usando um alerta.

Função vs getters

Até agora você deve estar pensando, eles não são iguais, bem, a resposta é sim e não. Vamos explicar isso usando exemplos:

Função de exemplo:

const player =
Nome: "Hazard",
Clube: "Chelsea",
camisa: 10,
myfunc: function ()
devolver isso.nome+"reproduções para"+this.clube;

;
Alerta (jogador.myfunc ());

Exemplo getter:

const player =
Nome: "Hazard",
Clube: "Chelsea",
camisa: 10,
obtenha myfunc ()
devolver isso.nome+"reproduções para"+this.clube;

;
Alerta (jogador.myfunc);

No exemplo da função, estamos recebendo o myfunc () Como uma função eu-e jogador.myfunc (). No entanto, no exemplo getter, estamos acessando o Propriedade I-E Player.myfunc (). Agora sabemos que a sintaxe getter é mais fácil e legível do que a função.

Objeto.defineProperty () em JavaScript

O Objeto JavaScript.DefineProperty () é usado para adicionar getters e setters. São necessários três argumentos e a sintaxe de Objeto.DefineProperty () é:

Objeto.DefineProperty (ObjectName, PropertyName, ObjectDescriptor)

O primeiro argumento é o nome do objeto, o segundo é o nome da propriedade e o terceiro argumento é uma descrição do objeto.

Por exemplo:

// Defina um objeto
const player =
Nome: "Eden"

// agora temos uma propriedade de um objeto
Objeto.DefineProperty (Player, "GetName",
get: function ()
devolver isso.nome;

);
// agora definimos a propriedade de um objeto
Objeto.DefineProperty (Player, "SetName",
SET: function (val)
esse.nome = val;

);
console.log (jogador.nome);
// Vamos dar ao jogador um nome completo
jogador.setName = "Hazard";
console.log (jogador.nome);

Neste exemplo, primeiro, definimos um objeto. Depois disso, usando Objeto.DefineProperty () Definimos o setter e getter. Agora, quando console pela primeira vez.Log O nome do jogador é "Eden". Mas quando definimos o nome usando o Setter, o nome do jogador muda para perigo, conforme definido por nós.

É verdade que quando usamos getters e setters, o JavaScript garante melhor qualidade de dados.

Por exemplo:

// Criando um objeto
const player =
Nome: "Hazard",
Clube: "Chelsea",
camisa: 10,
obtenha myfunc ()
devolver isso.nome+"reproduções para"+this.clube.tolowerCase ();

;
// Usando os dados do Get Display
Alerta (jogador.myfunc);

Neste exemplo, usamos o nome e a propriedade do clube do objeto Player. Nós o convertemos para a parte superior e inferior e retornamos esse valor. A solução parecia assim:

Por que usar getters e setters?

  • Pode realizar e realizar tarefas nos bastidores.
  • Nos faz garantir uma melhor qualidade de dados, conforme mencionado anteriormente
  • Também tem uma sintaxe mais simples
  • Propriedades e métodos A sintaxe é semelhante

Quais navegadores apóiam isso?

Microsoft borda Ópera Safári Mozilla Firefox Google Chrome
9.0 e acima sim sim sim sim

Conclusão

Aprendemos quase tudo sobre os avaliadores JavaScript que são métodos de obtenção e definição em JavaScript neste post. Entrando em um pouco de profundidade, também explicamos que objeto.defineproperty () é. Além disso, discutimos os profissionais do uso de avaliadores em JavaScript e quais navegadores apoiam os avaliadores. Ao usar os avaliadores, um desenvolvedor faz seu código executar ações nos bastidores e protege dados. Como tem uma sintaxe mais simples, também torna nosso código mais limpo.