Os utilitários de digitação de JavaScript, como Flow e TypeScript, tornaram-se populares em aplicativos JavaScript de todos os tamanhos. Como mencionei em nosso artigo Podcast sobre digitação do Script & Style ShowA digitação é uma ótima maneira de implementar implicitamente a documentação e a validação. No entanto, nem sempre é fácil aperfeiçoar o fluxo, e Object.values foi um ponto problemático para mim.

Ao usar o Flow, Object.values pode disparar o seguinte erro:

Não é possível chamar Object.values(…).map com a função vinculada a callbackfn porque a propriedade {prop} está faltando em mixed [1] no primeiro argumento.

O motivo desse erro é que o Object.values() pode retornar qualquer tipo de valor. Uma maneira de contornar esse incômodo é usar o seguinte:

...(Object.values(whatever): any)

Usando um any nunca é ideal, mas fornecer um tipo com Object.values ajudará a satisfazer o Flow. No final, faz sentido que o Object.values não seja confiável, porque qualquer coisa poderia ser retornada, mas ter que usar o any é uma pílula difícil de engolir para os amantes de tipos!

  • Expressões regulares para o restante de nós

    Mais cedo ou mais tarde, o senhor se deparará com uma expressão regular. Com sua sintaxe enigmática, documentação confusa e enorme curva de aprendizado, a maioria dos desenvolvedores se contenta em copiá-las e colá-las do StackOverflow e torcer para que funcionem. Mas e se o senhor pudesse decodificar as expressões regulares e aproveitar seu poder? Em…

  • Demonstrações favoritas de Chris Coyier’s CodePen

    David me perguntou se eu gostaria de fazer um post como convidado, escolhendo algumas das minhas canetas favoritas do CodePen. É uma tarefa difícil! São tantas! Mas consegui escolher algumas que me surpreenderam nos últimos meses. Se o senhor…

  • Adicionando eventos a Adicionar eventos em jQuery
  • Efeito Page Peel usando MooTools