1. NPM
1.1. Ferramenta utilizada
1.1.1. por desenvolvedores JavaScript
1.2. Possibilita que os pacotes de código sejam melhor gerenciados
1.3. Comandos de CLI
1.3.1. npm-config
1.3.1.1. obter
1.3.1.1.1. as configurações das linhas de comando
1.3.1.1.2. variáveis de ambiente
1.3.1.1.3. outros
1.3.2. npm-explore
1.3.2.1. procurar um pacote
1.3.2.1.1. que esteja instalado
1.3.3. npm-doctor
1.3.3.1. verificar a integridade do ambiente
1.3.3.2. executa uma série de verificações
1.3.3.2.1. para garantir
1.3.4. npm-query
1.3.4.1. permitir o uso de seletores CSS
1.3.4.1.1. para recuperar uma matriz de objetos
1.3.5. npm-test
1.3.5.1. testar pacotes
2. Sintaxe
2.1. Underline
2.1.1. não influencia números
2.1.1.1. exemplo
2.1.1.1.1. 1_2_3_4_5 = 12345
2.2. Declaração de função
2.2.1. function myFunction(x) { console.log(x); }
2.3. x = x <<< y
2.3.1. operação bitwise
2.3.2. desloca y bits à esquerda
2.3.2.1. multiplica por 2^y
3. Funções e Métodos
3.1. replace
3.1.1. substitui a primeira ocorrência
3.1.1.1. de uma string
3.1.1.2. por outra
3.2. slice
3.2.1. fatiamento
3.2.1.1. primeiro argumento
3.2.1.1.1. início
3.2.1.2. segundo argumento
3.2.1.2.1. fim
3.3. indexOf
3.3.1. encontrar o índice do primeiro elemento
3.3.1.1. em um array
3.3.1.2. que corresponde ao valor especificado
3.4. JSON.stringify
3.4.1. converte
3.4.1.1. um **objeto JavaScript**
3.4.1.2. em uma **string JSON**
3.5. JSON.parse
3.5.1. converte uma **string JSON**
3.5.2. em um **objeto JavaScript**
4. Introdução
4.1. Linguagem de programação
4.1.1. criar **páginas interativas**
4.1.1.1. na Internet
4.2. Propósito principal
4.2.1. tornar as aplicações web
4.2.1.1. mais dinâmicas
5. jQuery
5.1. Simplificação do Javascript
5.1.1. é preferível
5.1.1.1. sintaxe mais enxuta
5.1.2. manipulação de DOM e eventos
5.2. Vantagem
5.2.1. menos código
5.2.1.1. para atingir objetivos semelhantes
6. Arrays
6.1. Índice começa em 0
7. Operador Ternário
7.1. Exemplo
7.1.1. n < 2 ? 1 : n * y(n - 1);
7.2. Após a interrogação
7.2.1. parte verdadeira
7.3. Depois dos dois pontos
7.3.1. parte falsa
8. Tipos de Declaração
8.1. Var
8.1.1. escopo global
8.1.2. pode ser declarado novamente
8.1.3. pode ter o valor alterado
8.2. Let
8.2.1. escopo de bloco
8.2.1.1. cercado por { }
8.2.2. não pode ser redeclarada
8.3. Const
8.3.1. escopo de bloco
8.3.2. não pode ser
8.3.2.1. redeclarado
8.3.2.2. modificado