voltar aos artigosgetting started
$cd~/artigos/a-historia-por-tras-do-33-js-concepts
série 33 Conceitos JS·parte 2 de 38

A História Por Trás do 33 Conceitos JS: Do Artigo de Blog ao Guia Mais Completo de JavaScript

8 minVanderlei José Alamino

Todo grande projeto começa com uma ideia simples. O 33 Conceitos JS não foi diferente. O que começou como um artigo de blog em 2017 se transformou em um dos repositórios JavaScript mais populares do GitHub — reconhecido pela própria plataforma como um dos principais projetos open source de 2018.

Neste artigo, vamos contar a história completa por trás desse projeto: como ele surgiu, quem o criou, por que ele evoluiu, e o que o torna diferente de qualquer outro recurso de aprendizado de JavaScript que você já viu.

a-historia-por-tras-do-33-js-concepts.meta.jsonjson

// metadados do artigo

{
  "tag": "getting started",
  "readTime": "8 min",
  "author": "Vanderlei José Alamino",
  "source": "leonardomso/33-js-concepts",
  "series": "33 Conceitos JS",
  "part": {
    "current": 2,
    "total": 38
  }
}
abrir fonte original
a-historia-por-tras-do-33-js-concepts.mdmarkdown

Fonte de referência

Conteúdo adaptado a partir do guia original em inglês.

leonardomso/33-js-concepts
01

seção

A História de Origem

Tudo começou com um artigo. Em 2017, Stephen Curtis escreveu um texto intitulado "33 Fundamentals Every JavaScript Developer Should Know" (33 Fundamentos que Todo Desenvolvedor JavaScript Deveria Conhecer). O artigo delineava os conceitos centrais que separavam desenvolvedores que usam JavaScript daqueles que realmente entendem a linguagem.

Foi aí que entra Leonardo Maldonado. Ele pegou essa ideia e a transformou em algo muito maior: uma coleção curada dos melhores recursos para cada um dos 33 conceitos. O que começou como um projeto pessoal de aprendizado se tornou um dos repositórios JavaScript mais populares do GitHub — e, como mencionamos, um dos projetos open source mais destacados de 2018.

Reconhecimento: O GitHub destacou este projeto como um dos principais projetos open source de 2018.

02

seção

Para Quem é Este Guia?

A resposta curta: para qualquer pessoa que queira aprender JavaScript, independentemente do nível atual.

Se você é...Este guia vai te ajudar a...
Um iniciante completoConstruir uma base sólida do zero
AutodidataPreencher lacunas no seu conhecimento
Preparando-se para entrevistasEntender conceitos que entrevistadores costumam perguntar
Um desenvolvedor experienteAprofundar sua compreensão de como o JavaScript funciona

Não há pré-requisitos. Se você nunca escreveu uma linha de código, pode começar por aqui.

03

seção

Os 33 Conceitos Originais

Abaixo estão os 33 conceitos originais que inspiraram o projeto. O guia foi reorganizado e expandido desde então, mas esta é a fundação:

Fundamentos (Conceitos 1–6)

  1. Call Stack — Como o JavaScript rastreia a execução de funções
  2. Primitive Types — String, Number, Boolean, Null, Undefined, Symbol, BigInt
  3. Value Types vs Reference Types — Como os dados são armazenados e passados
  4. Type Coercion — Conversão de tipos implícita e explícita
  5. Equality Operators — == vs === e como as comparações funcionam
  6. Scope and Closures — Onde as variáveis são acessíveis e como as funções lembram seu ambiente

Funções & Execução (Conceitos 7–10)

  1. Expression vs Statement — Entendendo a diferença
  2. IIFE, Modules, and Namespaces — Padrões de organização de código
  3. Message Queue and Event Loop — O modelo de concorrência do JavaScript
  4. Timers — setTimeout, setInterval e requestAnimationFrame

Motores JavaScript (Conceitos 11–13)

  1. JavaScript Engines — V8, SpiderMonkey e como o JS é executado
  2. Bitwise Operators — Operações de baixo nível e typed arrays
  3. DOM and Layout Trees — Como os navegadores renderizam páginas

JavaScript Orientado a Objetos (Conceitos 14–18)

  1. Factories and Classes — Padrões de criação de objetos
  2. this, call, apply, and bind — Contexto e vinculação de funções
  3. new, Constructor, instanceof — Instanciação de objetos
  4. Prototype Inheritance — O modelo de herança do JavaScript
  5. Object.create and Object.assign — Métodos de manipulação de objetos

Programação Funcional (Conceitos 19–23)

  1. map, reduce, filter — Métodos de transformação de arrays
  2. Pure Functions and Side Effects — Fundamentos da programação funcional
  3. Closures — Funções que lembram seu escopo
  4. Higher-Order Functions — Funções que operam sobre funções
  5. Recursion — Funções que chamam a si mesmas

JavaScript Assíncrono (Conceitos 24–26)

  1. Collections and Generators — Iteráveis e lazy evaluation
  2. Promises — Lidando com operações assíncronas
  3. async/await — Sintaxe moderna para assincronismo

Tópicos Avançados (Conceitos 27–33)

  1. Data Structures — Arrays, Objects, Maps, Sets e mais
  2. Big O Notation — Análise de complexidade de algoritmos
  3. Algorithms — Algoritmos comuns em JavaScript
  4. Inheritance and Polymorphism — Princípios de OOP
  5. Design Patterns — Soluções comprovadas para problemas comuns
  6. Currying and Composition — Técnicas funcionais avançadas
  7. Clean Code — Escrevendo JavaScript sustentável
04

seção

O Que Mudou: Evolução do Guia

O JavaScript e o desenvolvimento web evoluíram desde que a lista original foi criada. O guia foi atualizado para refletir melhor o que os desenvolvedores modernos precisam saber.

Conceitos que Foram Adicionados

ConceitoPor que foi adicionado
CallbacksEssencial para entender JavaScript assíncrono antes de mergulhar em Promises
HTTP and FetchTodo desenvolvedor web precisa saber como fazer requisições de rede
Web WorkersImportante para performance e executar código fora da thread principal
Error HandlingCrítico para construir aplicações confiáveis
Regular ExpressionsFerramenta fundamental para processamento e validação de texto
Modern JS Syntax — Destructuring, spread operator e outras features ES6+ são padrão hoje
ES ModulesO sistema oficial de módulos do JavaScript

Conceitos Removidos ou Mesclados

Conceito OriginalO que Aconteceu
Expression vs StatementCoberto dentro de outras páginas de conceito, onde relevante
TimersMesclado no conceito de Event Loop
Bitwise OperatorsRaramente usados no desenvolvimento JavaScript do dia a dia
new, Constructor, instanceofMesclado em Factories and Classes
Object.create and Object.assignMesclado em Object Creation and Prototypes

O objetivo não é ter exatamente 33 conceitos. É te dar o conhecimento que você precisa para realmente entender JavaScript.

05

seção

O Que Torna Este Guia Diferente?

Aprenda o Conceito, Depois Aprofunde

Cada página de conceito te ensina o tópico diretamente com explicações claras e exemplos práticos de código. Depois que você entende os fundamentos, encontra uma lista curada de artigos, vídeos e livros para explorar mais a fundo.

Recursos Curados

Cada recurso é escolhido a dedo da web inteira. Em vez de uma única perspectiva, você recebe as melhores explicações de múltiplos professores e fontes.

Comunidade-Driven

Centenas de desenvolvedores contribuíram para este projeto. Os recursos são continuamente revisados, atualizados e aprimorados pela comunidade.

Múltiplos Formatos

Todo mundo aprende de forma diferente. Cada conceito inclui:

ArtigosVídeosLivros
Explicações escritas aprofundadasExplicações visuais e palestrasImersões profundas e abrangentes

Disponível em 40+ Idiomas

Graças à comunidade de tradutores, este guia é acessível a desenvolvedores em todo o mundo.

06

seção

Pronto para Continuar?

A jornada pelo 33 Conceitos JS é uma jornada de verdade. Cada conceito se constrói sobre o anterior, criando uma compreensão que vai muito além da sintaxe.

Nossa série de artigos em português segue exatamente essa filosofia. Começamos com os fundamentos e avançamos gradualmente, sempre com explicações claras, exemplos práticos e os devidos créditos ao projeto original.

Fonte de referência: leonardomso/33-js-concepts ⬀

$ summary --quick

Resumo rápido

  • O 33 Conceitos JS nasceu de um artigo de Stephen Curtis em 2017 e foi expandido por Leonardo Maldonado
  • O guia original continha 33 conceitos organizados em 7 categorias
  • O projeto foi reconhecido pelo GitHub como um dos principais open source de 2018
  • O guia foi atualizado ao longo do tempo: conceitos como Callbacks, Fetch, Web Workers e ES Modules foram adicionados; outros foram mesclados ou removidos
  • O objetivo não é o número exato de 33, mas dar o conhecimento necessário para realmente entender JavaScript
  • Os recursos são curados pela comunidade, disponíveis em múltiplos formatos e traduzidos para mais de 40 idiomas
  • Nossa série é uma reprodução adaptada em português, com todos os créditos ao projeto original