1
resposta

Tipo de validações (Polimorfismo)

Olá Galerinha, tudo bem?

O professor Matheus apresentou o atributo do html datas attributes, para validar qualquer tipo de input. Isso seria considerado meio que um polimorfismo? Ou posso correlacionar isso com Polimorfismo?

Tenho outra dúvida é sobre algumas trechos de códigos. Tenho dificuldade para entender cada parte. Exemplo:

const validadores = {
dataNascimento: input => validaDataNascimento(input)

}

Nesta linha de código o professor informou que criou um objeto que valida diversos "tipos", minha dúvida seria, para criar um objeto podemos utilizar também o new, certo? Neste caso o new limitaria a quantidade de "tipos"?

Por enquanto, na minha cabeça, para criação de um objeto utilizamos o new, neste trecho que ele mostrou fiquei bem confuso.

Fora que não entendi os dois pontos. Sei que é uma pergunta bem besta, mas esta me confundindo bastante.

1 resposta

Oi Dante, tudo bem?

Desculpe a demora em retornar.

Primeiramente, vamos esclarecer o que é polimorfismo. Polimorfismo é um conceito da programação orientada a objetos que permite que um mesmo método ou função possa ser utilizado por diferentes tipos de objetos, de forma que cada objeto pode ter uma implementação específica desse método ou função. Isso significa que objetos diferentes podem compartilhar o mesmo nome de método ou função, mas suas implementações serão distintas.

Quanto ao uso do atributo data em HTML para validação de formulários, não é considerado polimorfismo, pois não envolve a criação de múltiplas implementações do mesmo método ou função para diferentes tipos de objetos. No caso da validação de formulários, o uso do atributo data permite a criação de validações customizadas para diferentes tipos de inputs, mas não necessariamente envolve o conceito de polimorfismo.

Quanto à sua segunda dúvida, o trecho de código apresentado se trata de um objeto que contém uma única propriedade, chamada "dataNascimento", que recebe uma função como valor. Essa função, por sua vez, é responsável por validar a data de nascimento do usuário.

Em relação à criação de objetos, é possível utilizar a palavra-chave "new" para criar um objeto em JavaScript, porém, no caso do trecho de código apresentado, o objeto está sendo criado utilizando a sintaxe de objeto literal, que é outra forma de criar objetos em JavaScript. A sintaxe de objeto literal é mais simples e direta, e permite a criação de objetos com propriedades e valores definidos de forma literal, como no exemplo abaixo:

const pessoa = {
  nome: "João",
  idade: 25,
  profissao: "Programador"
};

Por fim, em relação aos dois pontos no trecho de código apresentado, eles indicam que a propriedade "dataNascimento" é uma propriedade do objeto "validadores", e seu valor é a função que valida a data de nascimento. Essa é uma sintaxe comum em JavaScript para definir propriedades de objetos.

Espero que tenha esclarecido suas dúvidas.

Irei fechar o post pois o curso foi desativado e ganhou uma atualização.

Um abraço e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software