No clima atual do JavaScript de novas sintaxes, recursos e uso de muitas bibliotecas externas, parece mais difícil do que nunca ter certeza do que as funções estão recebendo ou mesmo do que os dados representam. É claro que criamos o Flow e o TypeScript para ajudar, mas não podemos contar com eles sempre disponíveis. É por isso que gosto de fazer minha própria detecção com JavaScript, especialmente quando se trata de tipos de função.
Para detectar se uma função é uma função geradora ou geradora assíncrona, o senhor pode usar o seguinte código:
// Sample generator function function* sampleGenerator() {} sampleGenerator.constructor.name // "GeneratorFunction" async function* sampleGenerator() {} sampleGenerator.constructor.name // "AsyncGeneratorFunction"
Coincidentemente, o senhor também pode detectar uma função assíncrona regular com:
async function asyncThing() {} asyncThing.constructor.name // "AsyncFunction"
É sempre importante saber se o código que o senhor está usando é sincronizado, assíncrono ou um gerador, mas se estiver usando bibliotecas externas ou quiser escrever testes abrangentes, esses tipos de detecção podem ser necessários.
Filtros CSS
O suporte a filtros CSS foi lançado recentemente nos nightlies do WebKit. Filtros CSS fornecem um método para modificar a renderização de um elemento DOM básico, imagem ou vídeo. Os filtros CSS permitem desfocar, distorcer e modificar a intensidade da cor dos elementos. Vamos lá…
Bem-vindo ao meu novo escritório
Meu primeiro desenvolvimento profissional na Web foi em uma pequena gráfica, onde eu ficava sentado em um cubículo sem janelas o dia todo. Sofri com esse ambiente fechado por quase cinco anos antes de conseguir encontrar um emprego remoto em que eu trabalhasse em casa. O primeiro…
WebKit Marquee CSS: Trazendo o sexy de volta
Todos nós brincamos sobre os dias de Antigamente na Web. Os senhores se lembram deles: GIFs animados estúpidos (chamas e imagens de “em breve”, principalmente), contadores idiotas, livros de visitas, applets etc. Outro “recurso” do qual pensávamos ter nos livrado era o marquee. O marquee era um recurso rudimentar, semelhante ao javascript…