Em uma classe JavaScript, getters e setters são usados para obter ou definir os valores das propriedades. ““pegar”É a palavra -chave utilizada para definir um getter Método para recuperar o valor da propriedade, enquanto “definir”Define um método setter para alterar o valor de uma propriedade específica. Quando queremos acessar uma propriedade do nosso objeto JavaScript, o valor retornado pelo método getter é usado e, para definir um valor de propriedade, o método do setter é chamado e depois passamos o valor como um argumento que queremos definir.
Este artigo discutirá Getters e Setters em JavaScript. Além disso, também demonstraremos exemplos relacionados ao uso da definição Getter e Setter na classe JavaScript. Então vamos começar!
Getters e setters na classe JavaScript
No exemplo abaixo, criamos um “Funcionário”Classe com um construtor. O construtor do “Funcionário”A classe inicializará o funcionário“nome”Para a sequência passada como um argumento:
ClassEmployeeAgora, criaremos um objeto de classe de funcionários chamado “funcionário" e adicione "Jack”Como nome:
Deixe funcionário = novo funcionário ("Jack");Depois de fazer isso, podemos acessar o “nome"Propriedade do"funcionário”Objeto da seguinte maneira:
console.log (funcionário.nome);A saída do programa acima é mostrada abaixo:
Às vezes, talvez você não queira acessar uma propriedade diretamente. É aí que o par de getter e setter chega à peça.
Exemplo 1: Getters e Setters na classe JavaScript
Para demonstrar o uso do getter e Setter, primeiro, criaremos um “Funcionário”Classe com uma“nome" propriedade:
ClassEmployeeNa próxima etapa, definiremos um “getName ()”Método que retornará o valor do funcionário“nome" propriedade:
getName ()Outro método, que vamos acrescentar é “nome do conjunto()”. O método setName () de nossa classe de funcionários tem um “novo nomeParâmetro. Este método removerá quaisquer espaços de branco do valor do “novo nome" E também fará uma exceção se você não tiver inserido nenhum nome:
setName (newName)Como chamamos de “nome do conjunto()”Método no construtor, então sempre que criarmos um“Funcionário“Objeto, o“nome”Passado como o argumento será tomado pelo método setName (). Em seguida, o construtor mudará o fluxo de controle para o método setName () e definirá os valores passados como um argumento como “Funcionário”Nome do objeto:
Deixe funcionário = novo funcionário ('Jack Smith');Você também pode invocar o criado “nome do conjunto()" e "getName ()”Métodos da seguinte maneira:
funcionário.setName ('William Smith');As linhas de código acima dicas serão definidas “William Smith”Como o nome do“funcionário”Objeto. Então o "getName ()”O método informará sobre o nome do nome do funcionário valor da propriedade:
No exemplo fornecido, o método setName () e getName () estão funcionando como getter e setter .
Exemplo 2: Getters e Setters na classe JavaScript
Para definir getters e setters na classe JavaScript, o ES6 também oferece uma sintaxe específica. Para mostrar como usar isso, iremos para a aula de funcionários:
ClassEmployeeEm seguida, definiremos o método getter utilizando a palavra -chave “pegar”Que será seguido pelo nome do método. Outra coisa que gostaríamos de mencionar aqui é que o “nome”Propriedade da nossa“Funcionário”A classe será alterada para“_nome”Para evitar o conflito com o getter e o setter:
getName ()Para definir um método de setter, você deve adicionar o “normatizadorPalavra -chave antes de especificar o nome do método:
Definir nome (newName)Quando você atribuirá qualquer valor ao “nome”Propriedade de sua“Funcionário”Objeto de classe, JavaScript invocará o método do setter“nome()”:
funcionário.nome = 'Paul Max';Em seguida, chamaremos o método Getter ao usar a sintaxe abaixo:
Deixe EmpName = funcionário.nome;Agora, quando o intérprete JavaScript executará as linhas acima, ele verá a verificação de qualquer "nome"Propriedade na"Funcionário" aula. Ele procurará ainda qualquer método que vincule o “nome”Propriedade se não for encontrada. No nosso caso, o intérprete acessará o método getter e, depois de executá -lo, ele retornará o valor de “nome" propriedade:
Caso se você não tenha definido um método de setter em sua classe JavaScript, obterá um TypeError que indicará que você não pode definir a propriedade “nome" do "Funcionário”Objeto, como o“Funcionário”A classe tem apenas uma função getter:
Funcionário da classeAqui, tentaremos mudar o nome do nosso “funcionário“Objeto; No entanto, não adicionamos nenhum método de setter em nossa classe:
funcionário.nome = 'Paul Smith';Como você pode ver, encontramos um erro de tipo enquanto tentamos definir o nome do nome da propriedade:
Conclusão
Usando as palavras -chave GET e Set, você pode definir facilmente os métodos Getter e Setter em uma classe JavaScript. O método getter retorna o valor da propriedade, enquanto, no método do setter, um argumento é passado para o método do setter, que atribui esse valor específico à propriedade do objeto JavaScript Class. Este artigo discutiu Getters e Setters em JavaScript. Além disso, também demonstramos exemplos relacionados à definição e uso do Getter e Setter na classe JavaScript.