"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Desestruturação em parâmetros de função

Desestruturação em parâmetros de função

Publicado em 2024-11-08
Navegar:822

Destructuring in function parameters

Digamos que eu tenha um projeto em three.js e precise de algumas geometrias, codificarei uma matriz de objetos que conterá seus valores x, y e z, bem como seus valores de largura, altura e profundidade, mas essa matriz pode vir do servidor ou de APIs de terceiros =>

const geometriesRaw = [
    {
      color: 0x44aa88,
      x: 0,
      y: 1,
      z: 0,
      width: 1,
      height: 1,
      depth: 1
    },
    {
      color: 0x8844aa,
      x: -2,
      y: 1,
      z: 0,
      width: 1.5,
      height: 1.5,
      depth: 1.5
    }

  ];

Então irei renderizá-los usando o Array. função de mapa =>

  const cubes = geometriesRaw.map((cube)=>{
    
         
         
      
  }) 

Com apenas um relance podemos perceber a verbosidade deste código, repetindo o argumento cubo todas as vezes.
Outro sinal de alerta é a falta de clareza sobre quais propriedades estamos usando do array, por exemplo, z é 0 em ambos os casos e provavelmente será zero na grande maioria dos casos.
Para nosso caso de uso regular, não devemos expor essa propriedade à nossa função, isso também pode acontecer frequentemente com a propriedade profundidade.

Por esse motivo, a melhor opção será desestruturar as propriedades provenientes do array de objetos da seguinte forma =>

 const cubes = geometriesRaw.map(({x,y, width, color})=>{
    
         
         
      
  }) 

Agora estamos usando apenas x,y, largura, cor. Dessa forma, estamos sugerindo que z, altura e profundidade são propriedades padrão dentro de nossa função e não precisamos delas nos dados provenientes de nosso servidor ou de terceiros

Desta forma, estamos ocultando propriedades para futuros desenvolvedores que irão interagir com a constante de nossos cubos, apenas mostrando a eles aquelas que precisamos de uma fonte externa e aquelas que estamos definindo como padrão para melhores práticas, podemos até escrever
constante z = 0
...
dentro da nossa função para deixar ainda mais claro

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/kevincoto/destructuring-in-function-parameters-5gkb?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3