JavaScript Brain Teasers
200 páginas
Portuguese
PDF
4.5

JavaScript Brain Teasers

JavaScript Brain Teasers

Autor:

Ano:

Resumo:

Introdução

O livro «JavaScript Brain Teasers» de autoria de Fr. Kinlan (2019, 200 páginas) não é mais um manual de sintaxe ou frameworks. É uma coleção de problemas desafiadores e quebra-cabeças que farão você olhar para construções aparentemente familiares do JavaScript de uma nova maneira. Ao contrário dos problemas clássicos do LeetCode, o foco aqui está nas sutilezas da linguagem, no comportamento não óbvio de closures, protótipos, assincronicidade e contexto this. O livro foi escrito para o ambiente de execução Node.js, mas todos os exemplos podem ser facilmente reproduzidos em qualquer navegador moderno.

Sobre o que é o livro

«JavaScript Brain Teasers» consiste em 50 (ou por volta disso) quebra-cabeças cuidadosamente selecionados. Cada problema é apresentado como um pequeno trecho de código, após o qual o leitor é convidado a adivinhar o que o console exibirá (ou qual será o resultado da execução). Em seguida, vem uma análise detalhada: por que funcionou dessa forma, quais mecanismos da linguagem estão envolvidos e como evitar tais "surpresas" no desenvolvimento real. Os tópicos abordados incluem:

  • Coerção de tipos e igualdade não estrita (== vs ===);
  • Closures e escopo léxico;
  • Herança prototípica e cadeia de protótipos;
  • Assincronicidade: callbacks, promises, Event Loop;
  • Contexto this e suas ligações não óbvias;
  • Comportamento de var, let, const em loops e blocos;
  • "Armadilhas" no trabalho com arrays e objetos;
  • Particularidades dos operadores typeof, instanceof, delete.

Para quem é este livro

O livro é voltado para desenvolvedores JavaScript praticantes de nível Júnior+ e Pleno. Para iniciantes que estão apenas começando a aprender a linguagem, ele parecerá muito difícil e possivelmente desmotivador. No entanto, aqueles que já escrevem código em JavaScript há pelo menos seis meses a um ano encontrarão nele um material inestimável para aprofundar sua compreensão. O livro também será útil para quem está se preparando para entrevistas técnicas: muitos problemas são muito semelhantes às "perguntas capciosas" de entrevistas em grandes empresas de TI.

O que o leitor aprenderá

Ao trabalhar todos os quebra-cabeças, o leitor:

  • Deixará de temer a coerção implícita de tipos e aprenderá a prever seus resultados;
  • Compreenderá profundamente o mecanismo de funcionamento de this em vários contextos (global, método de objeto, construtor, função arrow);
  • Dominará as nuances do funcionamento do Event Loop e da fila de microtarefas;
  • Aprenderá a distinguir problemas reais de características "ruidosas" da linguagem;
  • Será capaz de escrever código mais confiável e previsível, evitando armadilhas comuns;
  • Aprimorará a habilidade de ler código de outros e encontrar erros ocultos.

Pontos fortes

A principal vantagem do livro é o formato. Em vez de teoria chata, você obtém uma experiência interativa: lê o código, faz uma suposição, verifica a si mesmo, lê a explicação. Isso é muito eficaz para a memorização. O autor não apenas mostra "magia", mas explica os mecanismos internos, referindo-se à especificação ECMAScript. Outro ponto positivo é a compacidade: 200 páginas sem enrolação, apenas o essencial. O livro é bem estruturado: de problemas simples a complexos, com um aumento gradual de profundidade. Vale destacar também que todos os exemplos são relevantes para o padrão moderno ES6+ (embora o livro tenha sido lançado em 2019, os conceitos principais não ficaram desatualizados).

Para quem é recomendado

Eu recomendo «JavaScript Brain Teasers» a todos que desejam passar do nível "apenas escrevo código" para o nível "entendo como a linguagem funciona". É um excelente treinador para a mente, que pode ser lido em pequenas doses — um ou dois problemas por dia. O livro também será um bom presente para um colega desenvolvedor que gosta de resolver quebra-cabeças. Se você ensina JavaScript, pode usar os problemas do livro como aquecimento no início das aulas. A única limitação: não deve ser dado a iniciantes absolutos — é melhor primeiro dominar os fundamentos com algum livro clássico (por exemplo, "Expressões Regulares" ou "JavaScript: O Guia Definitivo").

Recommendations