JavaScript Elegante: Uma Introdução Moderna à Programação
Um guia abrangente sobre programação moderna usando JavaScript. O curso cobre princípios fundamentais de programação, a especificação da linguagem JavaScript, integração com navegadores web e desenvolvimento do lado do servidor com Node.js, incluindo cinco aplicações práticas do mundo real.
Visão Geral do Curso
Resumo do Conteúdo
Um guia abrangente sobre programação moderna usando JavaScript. O curso aborda princípios fundamentais de programação, a especificação da linguagem JavaScript, integração com navegadores web e desenvolvimento do lado do servidor com Node.js, incluindo cinco aplicações práticas em projetos do mundo real.
Uma exploração profunda e elegante no cerne da programação em JavaScript.
Autor: Marijn Haverbeke
Agradecimentos: Apoiado por 454 patrocinadores financeiros; ilustrações de Wasif Hyder, Max Xiantu, Margarita Martínez, José Menor, Jim Tierney, Dyle MacGregor, Jeff Avallone, Thomas Palef e Antonio Perdomo Pastor.
Objetivos de Aprendizagem
- Definir o que é um programa e explicar os diferentes níveis de abstração nas linguagens de computador.
- Utilizar números e operadores aritméticos do JavaScript para produzir valores.
- Declarar e atualizar variáveis, respeitando convenções de nomes e restrições de palavras reservadas.
- Implementar fluxo de controle robusto usando
doloops,forloops e instruçõesswitch, mantendo código limpo por meio de indentação e comentários. - Definir e invocar funções usando múltiplas notações, lidando com parâmetros, argumentos opcionais e escopos léxicos aninhados.
- Aplicar conceitos funcionais avançados como recursão, fechamentos (closures) e pilha de chamadas para resolver enigmas algorítmicos complexos.
- Utilizar métodos especializados de objetos e arrays para gerenciar estruturas de dados complexas e strings.
- Implementar funções de ordem superior (
filter,map,reduce) para abstrair lógica e compor transformações de dados. - Navegar e manipular a cadeia de protótipos para criar instâncias de objetos estruturadas e reutilizáveis e interfaces polimórficas.
- Implementar interfaces polimórficas para lidar com visualizações de dados complexas (tabelas).