33 conceitos que todo desenvolvedor JavaScript deve saber
Introdução
Esse repositório foi criado com a intenção de ajudar os desenvolvedores a dominar seus conceitos em JavaScript. Não é um requisito, mas um guia para estudos futuros. É baseado em um artigo escrito por Stephen Curtis e você pode lê -lo aqui.
Considerado pelo GitHub como um dos principais projetos de código aberto de 2018!
Comunidade
Sinta -se à vontade para enviar um PR adicionando um link para suas próprias repescagens ou revisões. Se você deseja traduzir o repositório em seu idioma nativo, sinta -se à vontade para fazê -lo.
Todas as traduções para este repo serão listadas abaixo:
- ا opuls
- Ъъъ AR
- 汉语 (chinês) - re tian
- Português do Brasil (português brasileiro) - Tiago Boeing
- 한국어 (coreano) - Suin Lee
- Español (espanhol) - Adonis Mendoza
- Türkçe (turco) - İlker Demir
- р рйий зызызы (russo) - mihail gumennii
- Tiếng việt (vietnamita) - nguyễn trần chung
- Polski (polonês) - Dawid Lipinski
- فارسی (persa) - Majid Alavizadeh
- Bahasa Indonésia (Indonésia) - Rijdzuan Sampoerna
- Français (Francês) - Robin Métral
- हिन्दी (hindi) - Vikas Chauhan
- Ελληνικacion (grego) - dimitris zarachanis
- 日本語 (japonês) - oimo23
- Deutsch (alemão) - Burhannn
- кк sentido (ucraniano) - Andrew Savetchuk
- සිංහල (Sinhala) - Udaya Shamendra
- Italiano (italiano) - Gianluca Fiore
- Latviešu (letão) - jānis īvāns
- Afaan Oromoo (Oromo) - Amanuel Dagnachew
- ภาษาไทย (tailandês) - Arif Waram
- Català (catalão) - Mario Estrada
- Svenska (sueco) - Fenix Hongell
- ខ្មែរ (Khmer) - Chrea Chanchhunneng
- አማርኛ (Etiópia) - Miniyahil Kebede (ምንያህል ከበደ ከበደ)
- Беллрhс мов (bielorrussiano) - dzianis yafimau
- O'ZBekcha (Uzbek) - Shokhrukh USMONOV
- Urdu (اردو) - yasir nawaz
- Marathi (मराठी) - Dhruv Chandak
- हिन्दी (hindi) - Mahima Chauhan
- বাংলা (bengali) - Jisan Mia
- ગુજરાતી (Gujarati) - Vatsal Bhuva
- سنڌي (Sindhi) - ensolarado Gandhwani
- भोजपुरी (Bhojpuri) - Pronay Debnath
- ਪੰਜਾਬੀ (Punjabi) - Dev Pathak duro
- தமிழ் (Tamil) - Jaimin Chovatia
- Latim (latim) - Dev duro Pathak
- മലയാളം (malaiala) - Akshay Manoj
- Yorùbá (ioruba) - Ayomida Bajulaye
- עברית (hebraico) - refael yzgea
Índice
- Ligue para a pilha
- Tipos primitivos
- Tipos de valor e tipos de referência
- Implícita, explícita, nominal, estruturação e digitação de pato
- == vs === vs typeof
- Escopo da função, escopo de bloco e escopo lexical
- Expressão vs declaração
- Iife, módulos e namespaces
- Fila de mensagens e loop de eventos
- setTimeout, setInterval e requestanimationframe
- Motores JavaScript
- Operadores bitwise, matrizes de tipos e buffers de matriz
- DOM e árvores de layout
- Fábricas e aulas
- Isto, ligue, aplique e vincule
- Novo, construtor, instância e instâncias
- Herança de protótipo e cadeia de protótipo
- Object.create e object.assign
- Mapeie, reduza, filtre
- Funções puras, efeitos colaterais, mutação do estado e propagação de eventos
- Fechamentos
- Funções de alta ordem
- Recursão
- Coleções e geradores
- Promessas
- assíncrono/aguardar
- Estruturas de dados
- Operação cara e grande notação o
- Algoritmos
- Herança, polimorfismo e reutilização de código
- Padrões de design
- Aplicações parciais, curry, compor e tubo
- Código limpo
1. Chamada pilha
A pilha de chamadas é um mecanismo que o intérprete JavaScript usa para acompanhar a execução da função em um programa. No JavaScript, as funções são executadas na ordem em que são chamadas. A pilha de chamadas segue o último princípio, primeiro out (LIFO), o que significa que a última função empurrada para a pilha é a primeira a ser executada.
De acordo com a especificação do ECMAScript, a pilha de chamadas é definida como parte do contexto de execução. Sempre que uma função é chamada, um novo contexto de execução é criado e colocado na parte superior da pilha. Depois que a função é concluída, seu contexto de execução é removido da pilha e o controle retorna ao contexto anterior. Isso ajuda a gerenciar a execução do código síncrono, pois cada chamada de função deve ser concluída antes que a próxima possa começar.
Referência
Artigos
- Entendendo a pilha de chamadas JavaScript, loops de eventos - Gaurav Pandvia
- Compreendendo a pilha de chamadas JavaScript - Charles Freeborn
- JavaScript: Qual é o contexto de execução? Qual é a pilha de chamadas? - Valentino Gagliardi
- Qual é o loop de eventos JS e a pilha de chamadas? - Jess Telford
- Entendendo o contexto de execução e a pilha de execução em JavaScript - Sukhjinder Arora
- Como JavaScript funciona sob o capô: uma visão geral do mecanismo JavaScript, Heap e, pilha de chamadas - Bipin Rajbhar
- A pilha de chamadas JS explicada em 9 minutos - Colt Steel (YouTube)
- Pilha de chamadas em JavaScript - Syed Rafsan Raiyan
Vídeos
- JavaScript: The Call Stack explicou - Coding Blocks India
- A pilha de chamadas do JS explicou em 9 minutos - Colt Steele
- Qual é a pilha de chamadas? - Eric Traub
- A pilha de chamadas - Kevin Drumm
- Entendendo a execução de JavaScript - Código
- O que diabos é o loop do evento, afinal? - Philip Roberts
- Como o código JavaScript é executado? ❤️ e pilha de chamadas - Akshay Saini
- Pilhas de chamada - CS50
- Aprenda a pilha de chamadas JavaScript - codecupdev
- Javascript Funções e a pilha de chamadas | Como funciona a pilha de chamadas - chidre'techtutorials
⬆ de volta ao topo
2. Tipos primitivos
De acordo com a especificação do ECMAScript, o JavaScript possui seis tipos de dados primitivos: string, número, bigint, booleano, indefinido e símbolo. Esses tipos são imutáveis, o que significa que seus valores não podem ser alterados. Há também um tipo primitivo especial chamado Null, que representa a ausência intencional de qualquer valor de objeto.
Os valores primitivos são atribuídos diretamente a uma variável e, quando você manipula um tipo primitivo, está trabalhando diretamente no valor. Ao contrário dos objetos, os primitivos não possuem propriedades ou métodos, mas o JavaScript envolve automaticamente valores primitivos com contrapartes de objetos quando necessário (por exemplo, ao chamar métodos de strings).
Referência
- Tipos de dados e estruturas de dados JavaScript - MDN
Artigos
- Tipo de dados primitivo e não primitivo em JavaScript-Geeksforgeeks
- Variáveis JavaScript (pensamento para iniciantes)
- Como os números são codificados em JavaScript - Dr. Axel Rauschmayer
- O que você precisa saber sobre o tipo de número JavaScript - Max Wizard K
- O que todo desenvolvedor JavaScript deve saber sobre números de ponto flutuante - Chewxy
- A Vida Secreta dos Primitivos Javascript - Angus Croll
- Tipos primitivos - fluxo
- (Não) tudo em JavaScript é um objeto - Daniel Li
- Tipos de dados e estruturas de dados JavaScript - MDN
- Mergulhando mais fundo em objetos JavaScripts - Arfat Salman
- As diferenças entre objeto.freeze () vs const em javascript - bolaji ayodeji
- Objeta à conversão primitiva - javascript.info
- Métodos de primitivas - javascript.info
Vídeos
- JavaScript Reference vs Primitive Tys - Academind
- JavaScript Primitive Types - Simon Sez It
- Tipos de valor e tipos de referência em javascript - programação com mosh
- Tipos de dados primitivos JavaScript - Avelx
- Tudo o que você nunca quis saber sobre os números de JavaScript - Bartek Szopka
- O que são variáveis em JavaScript? - JS para todos
- Tipos de Datos Primitivos en JavaScript - La Cocina del Códão
- Tipo de dados em JavaScript - ScholarHat
⬆ de volta ao topo
3. Tipos de valor e tipos de referência
De acordo com a especificação do ECMAScript, os tipos de valor são armazenados diretamente no local que a variável acessa. Isso inclui tipos como número, string, booleano, indefinido, bigint, símbolo e nulo. Quando você atribui um tipo de valor a uma variável, o próprio valor é armazenado.
Artigos
- Explicando o valor vs. referência em JavaScript - Arnav Aggarwal
- Tipos primitivos e tipos de referência em JavaScript - Bran van der Meer
- Tipos de valor, tipos de referência e escopo em JavaScript - Ben Aston
- Voltar às raízes: Javascript Value vs Reference - Miro Koczka
- Compre “por valor” e “por referência” em javascript - Léna Faure
- Variáveis de referência e cópia de JavaScript - Vícretz
- Valores de referência primitiva vs javascript vs
- JavaScript por referência vs. por valor - nrabinowitz
- Javascript Entrevista Prep: Primitive vs. Reference Types - Mike Cronin
- Método de Foreach em JavaScript - um guia abrangente
- Javascript Map vs. foreach: Quando usar cada um - Sajal Soni
Vídeos
- JavaScript Pass by Value vs Pass By Reference - TechSith
- Valor JavaScript vs Tipos de Referência - Programação com mosh
- Valores vs referencias en javascript - la cocina del código
- JavaScript - Referência vs Valores/ Tipos Primitivos - Academia
- Tipos de valor e tipos de referência em javascript - programação com mosh
⬆ de volta ao topo
4. Implícito, explícito, nominal, estruturação e digitação de pato
A especificação do ECMAScript define JavaScript como uma linguagem tipada dinamicamente, o que significa que os tipos estão associados a valores em vez de variáveis, e a verificação do tipo ocorre em tempo de execução. Existem várias maneiras pelas quais o JavaScript gerencia os tipos:
Tipagem implícita (ou coerção de tipo): Isso ocorre quando o JavaScript converte automaticamente um tipo de dados em outro quando necessário. Por exemplo, o JavaScript pode converter uma string em um número durante uma operação aritmética. Embora isso possa simplificar algum código, ele também pode levar a resultados inesperados se não forem tratados com cuidado.
Digição explícita: Diferentemente da digitação implícita, a digitação explícita envolve converter manualmente um valor de um tipo para outro usando funções como número (), string () ou boolean ().
Digição nominal: o JavaScript não suporta de nativamente a digitação nominal, onde os tipos são declarados e verificados explicitamente. No entanto, o TypeScript, um superconjunto de JavaScript, traz esse recurso para ajudar a capturar erros do tipo durante o desenvolvimento.
Digição de estruturação: nesse sistema de tipo, os tipos são baseados na estrutura ou nas propriedades dos dados. O JavaScript é uma linguagem digitada estruturalmente em que os objetos são compatíveis se eles compartilharem a mesma estrutura (ou seja, o mesmo conjunto de propriedades e métodos).
Tipagem de patos: este é um conceito em que a adequação de um objeto é determinada pela presença de certas propriedades e métodos, e não pelo tipo real do objeto. O JavaScript depende fortemente da digitação de patos, onde o comportamento é inferido das propriedades de um objeto em vez de seu tipo declarado.
Artigos
- O que você precisa saber sobre a coerção implícita de JavaScript - prometa Tochi
- Javascript Type Coercion explicou - Alexey Samoshkin
- Javascript Coercion explicou - Ben Garrison
- O que exatamente é a coerção de tipo em JavaScript? - Pilha estouro
Vídeos
- ==? === ??? ...#@^% - Shirmung Bielefeld
- Coerção em JavaScript - Hitesh Choudhary
- Perguntas para JavaScript: O que é coerção? - Steven Hancock
- Digição: estático vs dinâmico, fraco vs. forte - Codexpanse
- El Sistema de Tipos de JavaScript - La Cocina del Código
- Digitação de pato em JavaScript - Techmaker Studio
- Digitação de pato em JavaScript - Programação com Kartik
Livros
- Você não conhece JS, 1ª edição: Types & Grammar - Kyle Simpson
⬆ de volta ao topo
5. == vs === vs typeof
De acordo com a especificação do ECMAScript, o JavaScript inclui os operadores rigorosos (====) e soltos (==), que se comportam de maneira diferente ao comparar valores. Aqui está um colapso:
== (igualdade solta): Este operador executa a coerção do tipo antes de comparar dois valores. Se os valores forem de tipos diferentes, o JavaScript tentará converter um ou ambos os valores em um tipo comum antes da comparação, o que pode levar a resultados inesperados.
=== (igualdade estrita): Este operador compara o valor e o tipo sem qualquer tipo de coerção. Se os dois valores não forem do mesmo tipo, a comparação retornará falsa.
TIPOOF Operador: o operador TIPOOF é usado para verificar o tipo de dados de uma variável. Embora geralmente seja confiável, existem certas peculiaridades, como o tipo de "objeto" NULL Returns "em vez de" nulo ", devido a um comportamento de longa data na implementação do JavaScript.
Artigos
- Javascript Double Equals vs. Triple Equals - Brandon Morelli
- Devo usar === OR == Operador de comparação de igualdade no JavaScript? - Panu Pitkamaki
- Por que usar o operador triplo equals em JavaScript? - Louis Lazaris
- Qual é a diferença entre == e === em JavaScript? - Craig Buckler
- Por que o tipo de JavaScript sempre retorna "objeto"? - Pilha transbordamento
- Tipos de verificação em JavaScript - Toby Ho
- Como verificar melhor os tipos de dados em javascript - webbjocke
- Verificando a ausência de um valor em JavaScript - Tomer Aberbach
- Diferença entre == e === em javascript
- Diferença entre == e === em JavaScript - Geeksforgeeks
- === vs == Comparação em JavaScript - Freecodecamp
Vídeos
- JavaScript - O operador TypeOf - Java Brains
- Javascript TypeOf Operator - Devdelight
- JavaScript "==" vs "===" - Web Dev simplificado
- === vs == em javascript - hitesh choudhary
- O operador TIPEOF em JS - Codevault
⬆ de volta ao topo
6. Escopo de função, escopo de bloco e escopo lexical
A especificação ECMAScript descreve três tipos principais de escopo:
Escopo da função: as variáveis declaradas dentro de uma função usando var são acessíveis apenas nessa função. Esse escopo isola as variáveis de serem acessadas fora da função onde são declaradas.
Escopo de bloco: Introduzido com ES6, as variáveis declaradas com LET e const são escondidas em bloco. Isso significa que eles são acessíveis apenas dentro do bloco específico {} em que são definidos, como loops ou condicionais internos.
Escopo lexical: refere -se a como o acesso variável é determinado com base na localização física das variáveis no código. As funções são lexicamente escopo, o que significa que elas podem acessar variáveis do escopo dos pais.
Livros
- Você ainda não conhece JS, 2ª edição: SCOPE & RECOLURES - Kyle Simpson
Artigos
- JavaScript Functions - Compreendendo o básico - Brandon Morelli
- Var, let e const - qual é a diferença?
- Funções em JavaScript - Deepa Pandey
- Escopo de bloco emulante em JavaScript - Josh Clanton
- A diferença entre função e escopo do bloco em JavaScript - Joseph Cardillo
- Escopos de funções e escopos de bloco em JavaScript - Samer Buna
- Entendendo o escopo e o contexto em JavaScript - Ryan Morr
- Javascript Scope and Closures - Zell Liew
- Compreendendo o escopo em JavaScript - Wissam abirached
- Compreendendo o escopo em JavaScript - Hammad Ahmed
- Quando usar uma declaração de função vs. uma expressão de função - Amber Wilkie
- Um Javascript Fundamentals Chinet Sheet: Scope, Context e "This" - Alexandra Fren
- Funções / escopo da função - mdn
Vídeos
- O que torna JavaScript estranho ... e PT incrível. 4 - LearnCode.academy
- Escopo variável em javascript - kirupa chinnathambi
- Escopo de bloco JavaScript e escopo da função - MMTUTS
- O que diabos é o escopo lexical? - nwcalvank
- Escopo variável - Steve Griffith
- Tutoriais de JavaScript para iniciantes - Mosh Hemadani
- Escopo de bloco JavaScript vs Escopo de função - Nivek
- Escopo lexical em JavaScript - HITESH CHOUDHARY
- Manuseio de escopo moderno em JavaScript (ES6 e além) -DeWangan
⬆ de volta ao topo
7. Expressão vs declaração
De acordo com a especificação do ECMAScript, as expressões produzem um valor e as declarações são instruções para executar uma ação, como atribuição de variáveis ou fluxo de controle. As declarações de função são içadas e podem ser chamadas antes de serem definidas no código, enquanto as expressões de função não são içadas e devem ser definidas antes de serem invocadas.
Artigos
- Tudo o que você precisa saber sobre as expressões, declarações e declarações de expressão de JavaScript - prometa Tochi
- Expressões de função versus declarações de função - Paul Wilkins
- Função de JavaScript - Declaração vs Expressão - Ravi Roshan
- Declarações de função vs. expressões de função - Mandeep Singh
- Declarações de função vs. Expressões de função - Angulls Croll
- Declaração de expressão - MDN Web Docs
Vídeos
- Expressões vs. declarações em JavaScript - Hexlet
- JavaScript - Expressão vs. Declaração - Webtunings
- Expressão da função JavaScript versus declaração para iniciantes - Material de dev
- A diferença entre uma expressão e uma declaração em JavaScript
- Expressão em JavaScript | Declaração em JavaScript - Sathelli Srikanth
⬆ de volta ao topo
8. iife, módulos e namespaces
Com a introdução dos módulos ES6, o papel dos IIFEs no isolamento do escopo diminuiu, mas eles ainda permanecem relevantes.
Referência
- Iife - mdn
- Modularidade - Mdn
- Namespace - mdn
Artigos
- Dominando expressões de funções imediatamente invasoras-Chandra Gundamaraju
- JavaScript invocou imediatamente a expressão da função - javascripttutorial.net
- Os módulos ES6 tornam obsoleto o caso de IIFEs?
- Um primer de 10 minutos para módulos JavaScript, formatos de módulo, carregadores de módulos e pacotes de módulos - Jurgen van de Moere
- Módulos - Explorando JS
- Módulos ES: um Desenho de Cartoon-Lin Clark
- Entendendo os módulos ES6 - Craig Buckler
- Uma visão geral dos módulos ES6 em JavaScript - Brent Graham
- Módulos ES6 em profundidade - Nicolás Bevacqua
- Módulos ES6, Node.js e a Solução Michael Jackson - Alberto Gimeno
- JavaScript Módulos: um guia para iniciantes - Preethi Kasireddy
- Usando módulos JavaScript na web - Addy Osmani & Mathias Bynens
- IIFE: Expressões de função imediatamente invocadas - Parwinder
- Módulo JavaScript Módulo - Vanshu Hassija
Vídeos
- Expressão da função imediatamente invocada - Beau ensina JavaScript - Freecodecamp
- Entendendo o JavaScript IIFE - Sheo Narayan
- Javascript Módulos: ES6 Importação e exportação - Kyle Robinson
- ES6 - Módulos - Ryan Christiani
- Módulos ES6 no mundo real - Sam Thorogood
- Módulos ES6 - Templiqueing
- JavaScript IIFE (Expressões de funções imediatamente invocadas) - Steve Griffith
⬆ de volta ao topo
9. Fila de mensagens e loop de eventos
O loop do evento é uma parte crítica do modelo de simultaneidade de JavaScript, garantindo comportamento não bloqueador, processando tarefas de maneira assíncrona. Compreender como ele interage com a fila de mensagens e microtasks é essencial para dominar o comportamento do JavaScript.
Artigos
- Javascript Event Loop explicou - Anoop Raveendran
- The JavaScript Event Loop: explicou-Erin Sweson-Healey
- Compreendendo JS: The Event Loop - Alexander Kondov
- O loop de eventos JavaScript - Flavio Copes
- Tarefas, microtasks, filas e cronogramas - Jake Archibald
- Visualizando o loop de eventos JavaScript com uma analogia de restaurante de pizza - Priyansh Jain
- JavaScript Visualizou: Event Loop - Lydia Hallie
- Settimeout vs SetImediate em JavaScript - Navneet Singh
- Compreendendo e otimizando o loop de eventos de JavaScript - XIUer Old
Vídeos
- O que diabos é o loop do evento, afinal? | JSCONF EU - Philip Roberts
- Loop de eventos JavaScript - Comsciência simplificada
- Estou preso em um ciclo de evento - Philip Roberts
- No loop - Jake Archibald | Jsconf.asia 2018
- DesmitiCando el Loop de eventos (espanhol)
- Retornos de chamada, SINCRONO, ASSINCRONO E LOOP DE EVENTOS (PT-BR-BR)
- Loop de eventos JavaScript: como funciona e por que importa em 5 minutos - James Q Quick
⬆ de volta ao topo
10. Settimeout, SetInterval e RequestanimationFrame
Artigos
- JavaScript Settimeout - Tudo o que você precisa saber
- Settimeout e SetInterval - javascript.info
- Por que não usar o SetInterval - Akanksha Sharma
- Settimeout vs setInterval - Develoger
- Usando requestanimationframe - Chris Coyier
- Entendendo o requestanimationframe do JavaScript () - Javascript Kit
- Intervalos de tempo de manuseio em JavaScript - Amit Merchant
- Debounce - Como adiar uma função em JavaScript - Ondrej Polesny
Vídeos
- JavaScript: como o setTimeout e o SetInterval funciona - Coding Blocks India
- Problemas de confiança com setTimeout () - Akshay Saini
- Settimeout e SetInterval em JavaScript - TechSith
- Javascript Timers - Steve Griffith
- JavaScript Settimeout e SetInterval explicaram - Theodore Anderson
⬆ de volta ao topo
11. Motores JavaScript
Artigos
- JavaScript é compilado ou interpretado?
- Motores JavaScript - Jen Looper
- Entendendo como o mecanismo Chrome V8 traduz JavaScript em código de máquina - Droidhead
- Entendendo o bytecode do V8 - Franziska Hinkelmann
- Uma breve história do mecanismo JavaScript V8 do Google - Clair Smith
- JavaScript Essentials: Por que você deve saber como o mecanismo funciona - Rainer Hahnekamp
- Fundamentos do motor JavaScript: formas e caches embutidos
- Fundamentos do motor JavaScript: otimizando protótipos
- Como o V8 otimiza as operações de matriz
- JavaScript Internals: JavaScript Engine, Run Time Environment & Settimeout Web API-Rupesh Mishra
Vídeos
- Javascript Motores: The Good Parts ™ - Mathias Bynens & Benedikt Meurer
- JS Engine exposto a arquitetura V8 do Google | Namaste JavaScript EP. 16 - Akshay Saini
- Como o código JavaScript é executado? Como JavaScript funciona nos bastidores
- Compreendendo o mecanismo JavaScript V8 - Freecodecamp Talks
- JavaScript Under the Hood - Javascript Engine Visão geral - Traversy Media
- Arindam Paul - Javascript VM Internals, Eventloop, Async e ScopeChains
⬆ de volta ao topo
12. Operadores bitwise, matrizes de tipos e buffers de matrizes
Artigos
- Programação com JS: Operações Bitwise - Alexander Kondov
- Usando os operadores bitwlucta da JavaScript na vida real - Ian M
- Operadores JavaScript Bitwise - W3Resource
- Operadores bitwew
- Uma cartilha abrangente sobre computação binária e operadores bitwise em JavaScript - Paul Brown
- Como posso entender a operação bittual em JavaScript?
Vídeos
- Operadores JavaScript Bitwise - Programação com mosh
- Operadores bit -new e por que os usamos - Alex Hyett
- JS Operadores Bitwise e Números Binários - Steve Griffith - Prof3ssorst3v3
- Mergulhar profundamente em bolhas, arquivos e ArrayBuffers - Steve Griffith - Prof3ssorst3v3
⬆ de volta ao topo
13. DOM e árvores de layout
Referência
- Modelo de Objeto de Documento (DOM) - MDN
Livros
- JavaScript eloquente, 3ª edição: cap. 14 - O modelo de objeto de documento
Artigos
- Como entender e modificar o DOM em JavaScript - Rascia Tania
- Qual é o modelo de objeto de documento e por que você deve saber como usá -lo - Leonardo Maldonado
- JavaScript Dom Tutorial com Exemplo - Guru99
- O que é o DOM? - Chris Coyier
- Atravessando o DOM com JavaScript - Zell Liew
- Dom Tree
- Como atravessar o DOM em JavaScript - Vojislav Grujić
- RENECIMENTO CONSTRUÇÃO DE ÁRVORES - ILYA GRIGORIK
- O que exatamente é o DOM?
- Javascript dom
- Atravessando o DOM com JavaScript - Steve Griffith (YouTube)
Vídeos
- JavaScript Dom - The Net Ninja
- Javascript dom
- Javascript Dom Manipulação Métodos - Dev simplificado da Web
- Javascript Dom Traversal Methods - Web Dev simplificado
⬆ de volta ao topo
14. Fábricas e aulas
Artigos
- Como usar as aulas em JavaScript - Rascia Tania
- Javascript Classes - sob o capô - Majid
- Melhor JavaScript com ES6, pt. II: Um mergulho profundo nas aulas - Peleke Sengstacke
- Entenda o padrão de design da fábrica em JavaScript simples - Aditya Agarwal
- Funções de fábrica em JavaScript - Josh Miller
- O padrão de fábrica em JS ES6 - Snstsdev
- Função de Classe vs Factory: Explorando o caminho a seguir - Cristi Salcescu
- Como as aulas ES6 realmente funcionam e como construir o seu próprio - Robert Grosse
- Compreendendo
super
em JavaScript - Um guia fácil para entender as classes em JavaScript
Vídeos
- Funções de fábrica javascript - programação com mosh
- Funções de fábrica em JavaScript - Função divertida de diversão
- Javascript Tutorial Function Factories - Crypto Chan
⬆ de volta ao topo
15. Isso, ligue, aplique e vincule
Referência
- Call () - MDN
- bind () - mdn
- aplicar () - mdn
Artigos
- Métodos Grokking Call (), Aplicar () e Bind () em JavaScript - Aniket Kudale
- Os métodos Javascript Apply, Call and Bind são essenciais para os profissionais de JavaScript - Richard Bovell
- JavaScript: Call (), Apply () e Bind () - Omer Goldberg
- A diferença entre chamada / aplicação / ligação - Ivan Sifrim
- O que o hack é chamada, aplicar, amarrar em javascript - ritik
- Dominar 'this' em javascript: retornos de chamada e bind (), apply (), ligue () - Michelle Gienow
- JavaScript Apply, Call e Bind explicados ao hospedar um churrasco - Kevin Kononenko
- Como e quando usar Bind, Chamado e aplicar em JavaScript - Eigen X
- Deixe -me explicar o que é
this
. (JavaScript) - Jason Yu - Compreendendo a palavra -chave "isto" em JavaScript - Pavan
- Como entender a palavra-chave e o contexto em JavaScript-Lukas Gisder-Dubé
- O que diabos é isso em JavaScript? - Hridayesh Sharma
- Isso e vínculo em JavaScript - Brian Barbour
- 3 Técnicas para manter sua sanidade usando "this" em JavaScript - Carl
- Dominando o JavaScript "This" Palavra -chave - Aakash Srivastav
- Esta ligação em JavaScript - 4. Nova ligação - Spyros Argalias
- Uma introdução rápida para 'isto' em JavaScript - Natalie Smith
- Uma conversa com a palavra -chave 'essa' em JavaScript - Karen Efereyan
- O que são chamadas (), Aplicar () e Bind () em JavaScript - Amitav Mishra
- Compreendendo 'essa' ligação em JavaScript - Yasemin Cidem
- As 7 principais questões complicadas desta palavra -chave 'esta'
Vídeos
- Chamada JavaScript, Aplicar e Bind - TechSith
- Javascript Aplicações práticas das funções de chamada, aplicar e vincular - TechSith
- JavaScript (Call, Bind, Apply) - Curioso Aatma
- Entendendo as funções e 'isto' no mundo do ES2017 - Bryan Hughes
- Bind and This - Criação de objetos em JavaScript - Funfunfunction
- Métodos de função JS Call (), Aplicar () e Bind () - Steve Griffith
- Ligue, aplique e vincule o método em JavaScript - Akshay Saini
- . [Javascript entrevista perguntas (ligue, vincular e aplicar) - Polyfills, baseado em saída, encadernação explícita - codificador na estrada] (https://youtu.be/vkmuoktydau?si=sdvlz8fbmephpxjs)
⬆ de volta ao topo
16. Novo, construtor, instância e instâncias
Artigos
- JavaScript para iniciantes: a operadora 'nova' - Brandon Morelli
- Vamos desmistificar a palavra -chave 'nova' de JavaScript - Cynthia Lee
- Construtor, operador "novo" - javascript.info
- Compreendendo os construtores JavaScript - Faraz Kelhini
- Use funções do construtor - OpenClass Rooms
- Além
typeof
e instanceof
: simplificando verificações de tipo dinâmico - Dr. Axel Rauschmayer - Função e objeto, instâncias um do outro - risco kiro
- JavaScript Instância do operador
⬆ de volta ao topo
17. Herança de protótipo e cadeia de protótipo
Referência
- Herança e a cadeia de protótipo - mdn
Artigos
- JavaScript: Prototype vs Class - Valentin Parsy
- Javascript Engine Fundamentals: Otimizando protótipos - Mathias Bynens
- Protótipo JavaScript - NC Patro
- Protótipos em JavaScript - Rupesh Mishra
- Protótipo em JavaScript: é peculiar, mas eis como funciona - Pranav Jindal
- Entendendo o JavaScript: Prototype and Heritância - Alexander Kondov
- Entendendo as classes (ES5) e a herança prototípica em JavaScript - Hridayesh Sharma
- Prototipo, Proto e Herança Prototípica em JavaScript - Varun Dey
- Herança Prototípica - JavaScript.info
- Como trabalhar com protótipos e herança em JavaScript - Tania Rascia
- Mestre protótipos e herança Javascript - Arnav Aggarwal
- A herança prototípica de JavaScript explicada usando CSS - Nash Vail
- Herança Prototípica em JavaScript - Jannis Redmann
- Demistificações de Classes e Herança Prototípica - Neo Ighodaro
- Introdução à herança prototípica - Dharani Jayakanthan
- Vamos criar herança prototípica em JS-var-Che
- Objetos, protótipos e classes em JavaScript - Atta
- O mundo mágico dos protótipos JavaScript - Belén
- Entendendo a herança prototípica em JavaScript - Lawrence Eagles
- Objetos e protótipos em JavaScript - Irena Popova
Vídeos
- Heritância do protótipo JavaScript - Avelx
- Prototipo de JavaScript herança explicada pt. Eu - Techsith
- Prototipo de JavaScript herança explicada pt. II - Techsith
- Heritância do protótipo JavaScript Explicado - Kyle Robinson
- Javascript avançado - herança prototípica em 1 minuto
- Uma visão geral das classes clássicas de JavaScript e herança prototípica - Pentacode
- JavaScript orientado a objetos - protótipo - o ninja líquido
- Protótipo em JavaScript - Kudvenkat
- JavaScript usando protótipos - O'Reilly
- Guia para iniciantes para o protótipo de JavaScript - Tyler McGinnis
- Protótipos em JavaScript - P5.js Tutorial - O trem de codificação
Livros
- Você não conhece JS, 1ª edição: this & objeto protótipos - Kyle Simpson
- Os princípios do JavaScript orientado a objetos - Nicholas C. Zakas
⬆ de volta ao topo
18.
Referência
- Object.create () - mdn
- Object.assign () - mdn
Artigos
- Object.Create in JavaScript - Rupesh Mishra
- Object.Create (): A nova maneira de criar objetos em JavaScript - Rob Gravelle
- Herança básica com object.create - Joshua Clanton
- Object.create () em javascript - geeksforgeeks
- Compreendendo a diferença entre object.create () e o novo operador - Jonathan Voxland
- Javascript Object Creation: Padrões e práticas recomendadas - Jeff Mott
- JavaScript HasownProperty: uma poderosa ferramenta de verificação de propriedades
- Lidando com objetos em javascript com object.assign, object.keys e HasownProperty
- Copiando objetos em JavaScript - Orinami Olatunji
- Javascript: object.assign () - Thiago S. Adriano
- Como clone profundo um objeto JavaScript - Flavio Copes
- Object.create (): quando e por que usar - vzing
Vídeos
- Object.assign () explicado - Aaron escreve código
- Object.assign () Método - TechSith
⬆ de volta ao topo
19. Mapa, redução, filtro
Artigos
- Javascript Programação funcional - mapa, filtrar e reduzir - Bojan Gvozderac
- Aprenda mapa, filtre e reduza em JavaScript - João Miguel Cunha
- Mapa, redução e filtro de JavaScript - Dan Martensen
- Como usar o mapa, filtrar e reduzir em JavaScript - Peleke Sengstacke
- JavaScript - Aprenda a encadear mapa, filtrar e reduzir - Brandon Morelli
- Estrutura de dados JavaScript com mapa, redução, filtro e ES6 - Deepak Gupta
- Entendendo o mapa, filtrar e reduzir em JavaScript - Luuk Gruijs
- Programação funcional em js: mapear, filtrar, reduzir (pt. 5) - Omer Goldberg
- JavaScript: mapear, filtrar, reduzir - William S. Vincent
- Funções de seta: sintaxe de gordura e concisa em JavaScript - Kyle Pennell
- JavaScript: Funções de seta para iniciantes - Brandon Morelli
- Quando (e por quê) você deve usar as funções de seta ES6 - e quando não deveriam - Cynthia Lee
- JavaScript - Aprenda e compreenda funções de seta - Brandon Morelli
- (JavaScript) => Funções de seta - SIGU
- Javascript.reduce () - Paul Anderson
- Por que você deve substituir o foreach por mapa e filtro em javascript - Roope Hakulinen
- Simplifique seu JavaScript - Use .Map (), .Reduce () e .Filter () - Etienne Talbot
- O método de redução de JavaScript explicado com uma dieta - Kevin Kononenko
- Diferença entre mapa, filtrar e reduzir em javascript - Amirata khodaparast
- Map⇄filter⇄reduce↻ - Ashay Mandwarya
- Encontrando o seu caminho com .map () - Brandon Wozniewicz
- Como escrever seu próprio mapa, filtrar e reduzir as funções em JavaScript - Hemand Nair
- Como manipular matrizes em JavaScript - Bolaji ayodeji
- Como simplificar sua base de código com map (), redução () e filtro () em javascript - Alex Permyakov
- .Map (), .Filter () e .Reduce () - Andy Pickle
- Mapa/filtro/redução de curso de internos - Chris Achard
- Mapear, filtrar e reduzir - animado - professor de javascript
- Mapeie, filtre, reduza e outros matrizes iteradores que você deve saber para se tornar um assistente de algoritmos - Mauro Bono
- Como usar o JavaScript .Map, .Filter e .Reduce - Avery Duffin
- Teste de desempenho de JavaScript - para Vs para cada VS (mapa, redução, filtro, localização) - Deepak Gupta
- Usando .map (), .Filter () e .Reduce () corretamente - Sasanka kudagoda
- Dominando o método de redução de JavaScript ✂️ - Sanderdebr
- JavaScript Mapa - Como usar a função JS .Map () (Método da Array) - Freecodecamp
Vídeos
- Mapear, filtrar e reduzir - Lydia Hallie
- Mapeie, filtre e reduza - Akshaay Saini
- JavaScript funcional: mapa, foreach, reduzir, filtrar - Theodore Anderson
- Javascript Array Superpowers: mapear, filtrar, reduzir (Parte I) - Michael Rosata
- Javascript Array Superpowers: mapear, filtrar, reduzir (parte 2) - Michael Rosata
- JavaScript Superior Funções de Ordem Superior - Filtro, Mapa, Classificar e Reduzir - Epicop
- [Métodos de array 2/3] .Filter + .Map + .Reduce - CodeWithnick
- Funções de seta em JavaScript - O quê, por que e como - função divertida divertida
- Aprendendo programação funcional com JavaScript - Anjana Vakil - JSunconf
- Map - Parte 2 JavaScript - Fun Fun Function
- Reduce basics - Part 3 of FP in JavaScript - Fun Fun Function
- Reduce Advanced - Part 4 of FP in JavaScript - Fun Fun Function
- reduce Array Method | JavaScript Tutorial - Florin Pop
- map Array Method | JavaScript Tutorial - Florin Pop
- Different array methods in 1 minute | Midudev (Spanish)
⬆ Back to Top
20. Pure Functions, Side Effects, State Mutation and Event Propagation
Artigos
- Javascript and Functional Programming — Pure Functions — Omer Goldberg
- Master the JavaScript Interview: What is a Pure Function? — Eric Elliott
- JavaScript: What Are Pure Functions And Why Use Them? — James Jeffery
- Pure functions in JavaScript — @nicoespeon
- Functional Programming: Pure Functions — Arne Brasseur
- Making your JavaScript Pure — Jack Franklin
- Arrays, Objects and Mutations — Federico Knüssel
- The State of Immutability — Maciej Sikora
- Hablemos de Inmutabilidad — Kike Sanchez
- How to deal with dirty side effects in your pure functional JavaScript — James Sinclair
- Preventing Side Effects in JavaScript — David Walsh
- JavaScript: Pure Functions — William S. Vincent
- Functional programming paradigms in modern JavaScript: Pure functions — Alexander Kondov
- Understanding Javascript Mutation and Pure Functions — Chidume Nnamdi
- Functional-ish JavaScript — Daniel Brain
- Event Propagation — MDN
- Event Propagation — Bubbling and capturing
Vídeos
- Pure Functions — Hexlet
- Pure Functions - Functional Programming in JavaScript — Paul McBride
- JavaScript Pure Functions — Seth Alexander
- JavaScript Pure vs Impure Functions Explained — Theodore Anderson
- Pure Functions - Programação Funcional: Parte 1 - Fun Fun Function
- Event Propagation - JavaScript Event Bubbling and Propagation - Steve Griffith
⬆ Back to Top
21. Closures
Referência
- Closures — MDN
- Closure — JavaScript.Info
Artigos
- I never understood JavaScript closures — Olivier De Meulder
- Understand JavaScript Closures With Ease — Richard Bovell
- Understanding JavaScript Closures — Codesmith
- Understand Closures in JavaScript — Brandon Morelli
- A simple guide to help you understand closures in JavaScript — Prashant Ram
- Understanding JavaScript Closures: A Practical Approach — Paul Upendo
- Understanding JavaScript: Closures — Alexander Kondov
- How to use JavaScript closures with confidence — Léna Faure
- JavaScript closures by example — tyler
- JavaScript — Closures and Scope — Alex Aitken
- Discover the power of closures in JavaScript — Cristi Salcescu
- Getting Closure — RealLifeJS
- Closure, Currying and IIFE in JavaScript — Ritik
- Understanding Closures in JavaScript — Sukhjinder Arora
- A basic guide to Closures in JavaScript — Parathan Thiyagalingam
- Closures: Using Memoization — Brian Barbour
- A Brief Introduction to Closures and Lexical Scoping in JavaScript — Ashutosh K Singh
- Demystify Closures — stereobooster
- Scopes and Closures - JavaScript Concepts — Agney Menon
- Understanding Closures in JavaScript — Matt Popovich
- whatthefuck.is · A Closure - Dan Abramov
- Closures in JavaScript can... - Brandon LeBoeuf
- Do you know Closures - Mohamed Khaled
Vídeos
- JavaScript The Hard Parts: Closure, Scope & Execution Context - Codesmith
- Namaste Javascript by Akshay Saini
- Javascript Closure — techsith
- Closures — Fun Fun Function
- Closures in JavaScript — techsith
- JavaScript Closures 101: What is a closure? — JavaScript Tutorials
- Closures — freeCodeCamp
- JavaScript Closures — CodeWorkr
- Closures in JS - Akshay Saini
- CLOSURES en JavaScript: Qué son y cómo funcionan - Carlos Azaustre
- Learn Closures In 7 Minutes - Web Dev Simplified
⬆ Back to Top
22. High Order Functions
Books
- Eloquent JavaScript, 3rd Edition: Ch. 5 - Higher-order Functions
Artigos
- Higher-Order Functions in JavaScript — M. David Green
- Higher Order Functions: Using Filter, Map and Reduce for More Maintainable Code — Guido Schmitz
- First-class and Higher Order Functions: Effective Functional JavaScript — Hugo Di Francesco
- Higher Order Functions in JavaScript — John Hannah
- Just a reminder on how to use high order functions — Pedro Filho
- Understanding Higher-Order Functions in JavaScript — Sukhjinder Arora
- Higher Order Functions - A pragmatic approach — emmanuel ikwuoma
Vídeos
- JavaScript Higher Order Functions & Arrays — Traversy Media
- Higher Order Functions — Fun Fun Function
- Higher Order Functions in Javascript — Raja Yogan
- Higher Order Iterators in JavaScript — Fun Fun Function
- Higher Order Functions in JavaScript — The Coding Train
- Part 1: An Introduction to Callbacks and Higher Order Functions - Codesmith
- Part 2: Understanding Why We Need Higher Order Functions - Codesmith
- Higher-Order Functions ft. Functional Programming - Akshay Saini
⬆ Back to Top
23. Recursion
Artigos
- Recursion in JavaScript — Kevin Ennis
- Understanding Recursion in JavaScript — Zak Frisch
- Learn and Understand Recursion in JavaScript — Brandon Morelli
- Recursion in Functional JavaScript — M. David Green
- Programming with JS: Recursion — Alexander Kondov
- Anonymous Recursion in JavaScript — simo
- Recursion, iteration and tail calls in JS — loverajoel
- What is Recursion? A Recursive Function Explained with JavaScript Code Examples — Nathan Sebhastian
- Intro to Recursion — Brad Newman
- Accio Recursion!: Your New Favorite JavaScript Spell — Leanne Cabey
- Recursion Explained (with Examples) — Christina
Vídeos
- Recursion In JavaScript — techsith
- Recursion — Fun Fun Function
- Recursion and Recursive Functions — Hexlet
- Recursion: Recursion() — JS Monthly — Lucas da Costa
- Recursive Function in JavaScript — kudvenkat
- What on Earth is Recursion? — Computerphile
- Javascript Tutorial 34: Introduction To Recursion — codedamn
- Recursion, Iteration, and JavaScript: A Love Story | JSHeroes 2018 — Anjana Vakil
- Recursion crash course - Colt Steele
- What Is Recursion - In Depth - Web Dev Simplified
⬆ Back to Top
24. Collections and Generators
Referência
Artigos
- ES6 In Depth: Collections — Jason Orendorff
- ES6 Collections: Using Map, Set, WeakMap, WeakSet — Kyle Pennell
- ES6 WeakMaps, Sets, and WeakSets in Depth — Nicolás Bevacqua
- Map, Set, WeakMap and WeakSet — JavaScript.Info
- Maps in ES6 - A Quick Guide — Ben Mildren
- ES6 — Set vs Array — What and when? — Maya Shavin
- ES6 — Map vs Object — What and when? — Maya Shavin
- Array vs Set vs Map vs Object — Real-time use cases in Javascript (ES6/ES7) — Rajesh Babu
- How to create an array of unique values in JavaScript using Sets — Claire Parker-Jones
- What You Should Know About ES6 Maps — Just Chris
- ES6 Maps in Depth — Nicolás Bevacqua
- What are JavaScript Generators and how to use them — Vladislav Stepanov
- Understanding JavaScript Generators With Examples — Arfat Salman
- The Basics of ES6 Generators — Kyle Simpson
- An Introduction to JavaScript Generators — Alice Kallaugher
Vídeos
- JavaScript ES6 / ES2015 Set, Map, WeakSet and WeakMap — Traversy Media
- JavaScript ES6 / ES2015 - [11] Generators - Traversy Media
- The Differences between ES6 Maps and Sets — Steve Griffith
- Javascript Generators - THEY CHANGE EVERYTHING - ES6 Generators Harmony Generators — LearnCode.academy
⬆ Back to Top
25. Promises
Referência
Artigos
- JavaScript Promises for Dummies ― Jecelyn Yeen
- Understanding promises in JavaScript — Gokul NK
- Master the JavaScript Interview: What is a Promise? — Eric Elliott
- An Overview of JavaScript Promises — Sandeep Panda
- How to use Promises in JavaScript — Prashant Ram
- Implementing Promises In JavaScript — Maciej Cieslar
- JavaScript: Promises explained with simple real life analogies — Shruti Kapoor
- Promises for Asynchronous Programming — Exploring JS
- JavaScript Promises Explained By Gambling At A Casino — Kevin Kononenko
- ES6 Promises: Patterns and Anti-Patterns — Bobby Brennan
- A Simple Guide to ES6 Promises — Brandon Morelli
- The ES6 Promises — Manoj Singh Negi
- ES6 Promises in Depth — Nicolás Bevacqua
- Playing with Javascript Promises: A Comprehensive Approach — Rajesh Babu
- How to Write a JavaScript Promise — Brandon Wozniewicz
- A Coding Writer's Guide: An Introduction To ES6 Promises — Andrew Ly
- Understanding Promises in JavaScript — Chris Noring
- Converting callbacks to promises — Zell Liew
- JavaScript Promises: Zero To Hero Plus Cheat Sheet — Joshua Saunders
- Promises - JavaScript concepts — Agney Menon
- Javascript
Promise
101 — Igor Irianto - Simplify JavaScript Promises — Sunny Singh
- The Lowdown on Promises — Aphinya Dechalert
- JavaScript Visualized: Promises & Async/Await — Lydia Hallie
- Promises in JavaScript — Peter Klingelhofer
- Best Practices for ES6 Promises — Basti Ortiz
- Lo que debemos saber de EScript 2020 — Kike Sanchez
- Promise Basics - javascript.info
- The Complete JavaScript Promise Guide
- Promise Chaining - javascript.info
Vídeos
- Let's Learn ES6 - Promises — Ryan Christiani
- JavaScript ES6 / ES2015 Promises — Traversy Media
- Promises — Fun Fun Function
- Error Handling Promises in JavaScript — Fun Fun Function
- Promises Part 1 - Topics of JavaScript/ES6 — The Coding Train
- JavaScript Promise in 100 Seconds
- JavaScript Promise in 9 Minutes
- JavaScript Promises In 10 Minutes — Web Dev Simplified
- Promises | Ep 02 Season 02 - Namaste JavaScript - Akshay Saini
⬆ Back to Top
26. async/await
Referência
- async/await — JavaScript.Info
Books
- Eloquent JavaScript, 3rd Edition: Ch. 11 - Asynchronous Programming
- Exploring JS: Asynchronous Programming
Artigos
- Understanding async/await in Javascript — Gokul NK
- Asynchronous Javascript using async/await — Joy Warugu
- Modern Asynchronous JavaScript with async/await — Flavio Copes
- Asynchronous JavaScript: From Callback Hell to Async and Await — Demir Selmanovic
- Javascript — ES8 Introducing async/await Functions — Ben Garrison
- How to escape async/await hell — Aditya Agarwal
- Understanding JavaScript's async await — Nicolás Bevacqua
- JavaScript Async/Await: Serial, Parallel and Complex Flow — TechBrij
- From JavaScript Promises to Async/Await: why bother? — Chris Nwamba
- Flow Control in Modern JS: Callbacks to Promises to Async/Await — Craig Buckler
- How to improve your asynchronous Javascript code with async and await — Indrek Lasn
- Making Fetches Easy With Async Await — Mickey Sheridan
- 7 Reasons Why JavaScript Async/Await Is Better Than Plain Promises — Mostafa Gaafar
- Asynchronous Operations in JavaScript — Jscrambler
- JavaScript: Promises or async-await — Gokul NK
- Async / Await: From Zero to Hero — Zhi Yuan
- JavaScript Visualized: Promises & Async/Await — Lydia Hallie
- Making asynchronous programming easier with async and await — MDN
- JavaScript Async/Await Tutorial – Learn Callbacks, Promises, and Async/Await in JS by Making Ice Cream
- Better Than Promises - JavaScript Async/Await
Vídeos
- Asynchronous JavaScript Crash Course
- Async + Await — Wes Bos
- Asynchrony: Under the Hood — Shelley Vohr
- async/await in JavaScript - What, Why and How — Fun Fun Function
- async/await Part 1 - Topics of JavaScript/ES8 — The Coding Train
- async/await Part 2 - Topics of JavaScript/ES8 — The Coding Train
- Complete Guide to JS Async & Await ES2017/ES8 — Colt Steele
- Tips for using async/await in JavaScript — James Q Quick
- JavaScript Async Await — Web Dev Simplified
- Promise async and await in javascript — Hitesh Choudhary
⬆ Back to Top
27. Data Structures
Artigos
- Data Structures in JavaScript — Thon Ly
- Algorithms and Data Structures in JavaScript — Oleksii Trekhleb
- Data Structures: Objects and Arrays ― Chris Nwamba
- Data structures in JavaScript — Benoit Vallon
- Playing with Data Structures in Javascript — Anish K.
- The Little Guide of Queue in JavaScript — Germán Cutraro
- All algorithms writing with JavaScript in the book 'Algorithms Fourth Edition'
- Collection of classic computer science paradigms in JavaScript
- All the things you didn't know you wanted to know about data structures
- JavaScript Data Structures: 40 Part Series — miku86
- Data Structures: Understanding Graphs — Rachel Hawa
- Data Structures Two Ways: Linked List (Pt 1) — Freddie Duffield
- Data Structures Two Ways: Linked List (Pt 2) — Freddie Duffield
- Graph Data Structures Explained in JavaScript — Adrian Mejia
Vídeos
- Algorithms In Javascript | Ace Your Interview — Eduonix Learning Solutions
- Data Structures and Algorithms in JavaScript — freeCodeCamp
- Learning JavaScript Data Structures and Algorithms: Sorting — Packt Video
- JavaScript Data Structures: Getting Started — Academind
⬆ Back to Top
28. Expensive Operation and Big O Notation
Artigos
- Big O Notation in Javascript — César Antón Dorantes
- Time Complexity/Big O Notation — Tim Roberts
- Big O in JavaScript — Gabriela Medina
- Big O Search Algorithms in JavaScript — Bradley Braithwaite
- Algorithms in plain English: time complexity and Big-O Notation — Michael Olorunnisola
- An Introduction to Big O Notation — Joseph Trettevik
Vídeos
- JavaScript: Intro to Big O Notation and Function Runtime — Eric Traub
- Essential Big O for JavaScript Developers — Dave Smith
- Big O Notation - Time Complexity Analysis — WebTunings
- Learn Big O Notation In 12 Minutes - Web Dev Simplified
- JavaScript Algorithms: Big-O Notation - Codevolution
- JavaScript Algorithms Crash Course: Learn Algorithms & "Big O" from the Ground Up! - Academind
- Big O Notation - Data Structures and Algorithms in Javascript - RoadSideCoder
⬆ Back to Top
29. Algorithms
Artigos
- Data Structures and Algorithms using ES6
- Algorithms and data structures implemented in JavaScript with explanations and links to further readings
- JS: Interview Algorithm
- Algorithms in JavaScript — Thon Ly
- JavaScript Objects, Square Brackets and Algorithms — Dmitri Grabov
- Atwood's Law applied to CS101 - Classic algorithms and data structures implemented in JavaScript
- Data Structures and Algorithms library in JavaScript
- Collection of computer science algorithms and data structures written in JavaScript
- Algorithms and Data Structures in JavaScript — Oleksii Trekhleb
Vídeos
- ? JavaScript Algorithms - Codevolution
- ? Dynamic Programming - Learn to Solve Algorithmic Problems & Coding Challenges - FreeCodeCamp
- ? Data Structures and Algorithms in Javascript | DSA with JS - RoadsideCoder
- ? Javascript Algorithms + Data Structures - KodingKevin
- ? JavaScript Data Structures: Getting Started - Academind
- ? Algorithms and Data Structures - The Coding Train (Daniel Shiffman)
⬆ Back to Top
30. Inheritance, Polymorphism and Code Reuse
Referência
- Inheritance in JavaScript — MDN
- Class inheritance, super — JavaScript.Info
Artigos
- Inheritance in JavaScript — Rupesh Mishra
- Simple Inheritance with JavaScript — David Catuhe
- JavaScript — Inheritance, delegation patterns and Object linking — NC Patro
- Object Oriented JavaScript: Polymorphism with examples — Knoldus Blogs
- Program Like Proteus — A beginner's guide to polymorphism in Javascript — Sam Galson
- Object-oriented JavaScript: A Deep Dive into ES6 Classes — Jeff Mott
- Unlocking the Power of Polymorphism in JavaScript: A Deep Dive
Vídeos
- Inheritance in JavaScript — kudvenkat
- JavaScript ES6 Classes and Inheritance — Traversy Media
- Polymorphism in JavaScript — kudvenkat
⬆ Back to Top
31. Design Patterns
Books
- Learning JavaScript Design Patterns — Addy Osmani
- Pro JavaScript Design Patterns — Ross Harmes and Dustin Diaz
Artigos
- JavaScript Design Patterns – Explained with Examples — Germán Cocca
- 4 JavaScript Design Patterns You Should Know — Devan Patel
- JavaScript Design Patterns – Beginner's Guide to Mobile Web Development — Soumyajit Pathak
- JavaScript Design Patterns — Akash Pal
- JavaScript Design Patterns: Understanding Design Patterns in JavaScript - Sukhjinder Arora
- All the 23 (GoF) design patterns implemented in Javascript — Felipe Beline
- The Power of the Module Pattern in JavaScript — jsmanifest
- Design Patterns for Developers using JavaScript pt. I — Oliver Mensah
- Design Patterns for Developers using JavaScript pt. II — Oliver Mensah
- Design patterns in modern JavaScript development
- Understanding Design Patterns: Iterator using Dev.to and Medium social networks! — Carlos Caballero
- JavaScript Design Patterns - Factory Pattern — KristijanFištrek
- JavaScript Design Pattern — Module Pattern - Factory Pattern — Moon
- Design Patterns: Null Object - Carlos Caballero
- Strategy Pattern - Francesco Ciulla
- Adapter Pattern - Francesco Ciulla
- The Power of Composite Pattern in JavaScript - jsmanifest
- In Defense of Defensive Programming - Adam Nathaniel Davis
- JavaScript Patterns Workshop — Lydia Hallie
Vídeos
- JavaScript Design Patterns — Udacity
- JavaScript Patterns for 2017 — Scott Allen
⬆ Back to Top
32. Partial Applications, Currying, Compose and Pipe
Books
- Functional-Light JavaScript: Ch. 3 - Managing Function Inputs — Kyle Simpson
Artigos
- Composition and Currying Elegance in JavaScript — Pragyan Das
- Functional JavaScript: Function Composition For Every Day Use — Joel Thoms
- Functional Composition: compose() and pipe() — Anton Paras
- Why The Hipsters Compose Everything: Functional Composing In JavaScript — A. Sharif
- A Gentle Introduction to Functional JavaScript pt III: Functions for making functions — James Sinclair
- Curry And Compose (why you should be using something like ramda in your code) — jsanchesleao
- Function Composition in JavaScript with Pipe — Andy Van Slaars
- Practical Functional JavaScript with Ramda — Andrew D'Amelio, Yuri Takhteyev
- The beauty in Partial Application, Currying, and Function Composition — Joel Thoms
- Curry or Partial Application? — Eric Elliott
- Partial Application in JavaScript — Ben Alman
- Partial Application of Functions — Functional Reactive Ninja
- Currying vs Partial Application — Deepak Gupta
- Partial Application in ECMAScript 2015 — Ragan Wald
- So You Want to be a Functional Programmer pt. I — Charles Scalfani
- So You Want to be a Functional Programmer pt. II — Charles Scalfani
- So You Want to be a Functional Programmer pt. III — Charles Scalfani
- So You Want to be a Functional Programmer pt. IV — Charles Scalfani
- So You Want to be a Functional Programmer pt. V — Charles Scalfani
- An introduction to the basic principles of Functional Programming — TK
- Concepts of Functional Programming in Javascript — TK
- An Introduction to Functional Programming Style in JavaScript — JavaScript Teacher
- A practical guide to writing more functional JavaScript — Nadeesha Cabral
- A simple explanation of functional pipe in JavaScript — Ben Lesh
Vídeos
- Compose vs Pipe: Functional Programming in JavaScript — Chyld Studios
- JavaScript Functional Programing: Compose — Theodore Anderson
- Function Composition - Functional JavaScript — NWCalvank
- JavaScript Function Composition Explained — Theodore Anderson
- Let's code with function composition — Fun Fun Function
- Partial Application vs. Currying — NWCalvank
- JavaScript Partial Application — Theodore Anderson
- call, apply and bind method in JavaScript
⬆ Back to Top
33. Clean Code
Artigos
- Clean Code Explained – A Practical Introduction to Clean Coding for Beginners — freeCodeCamp
- Clean Code concepts adapted for JavaScript — Ryan McDermott
- Clean Code Practice: How to write clean code — Tirth Bodawala
- Function parameters in JavaScript Clean Code — Kevin Peters
- Keeping your code clean — Samuel James
- Best Practices for Using Modern JavaScript Syntax — M. David Green
- best practices for cross node/web development - Jimmy Wärting
- Writing Clean Code - Dylan Paulus
- Writing Clean Code and The Practice of Programming - Nityesh Agarwal
- Clean code, dirty code, human code - Daniel Irvine
- Practical Ways to Write Better JavaScript - Ryland G
- The Must-Know Clean Code Principles - Kesk on Medium
- The Clean Code Book - Robert C Martin
- How to use destructuring in JavaScript to write cleaner, more powerful code - freecodecamp
- Write Clean Code Using JavaScript Object Destructuring - Asel Siriwardena
- JavaScript Clean Coding Best Practices
Vídeos
- ? JavaScript Pro Tips - Code This, NOT That
- ? Clean Code playlist - Beau teaches
- ? JavaScript Best Practices and Coding Conventions - Write Clean Code
- ? JavaScript Clean Code
- ? Tips On Learning How To Code
⬆ Back to Top
Licença
This software is licensed under MIT License, See License for more information ©Leonardo Maldonado.