0% acharam este documento útil (0 voto)
12 visualizações

Javascript

Enviado por

Andrew Silva
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato RTF, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
12 visualizações

Javascript

Enviado por

Andrew Silva
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato RTF, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 2

1.

Closure (Fechamentos)

Closures são funções que se lembram do ambiente em que foram criadas. Isso significa que uma função interna tem
sempre acesso às variáveis e parâmetros da função externa, mesmo após a função externa ter terminado de executar.

2. Hoisting

Hoisting é o comportamento padrão do JavaScript de mover declarações para o topo de um escopo (global ou da
função em que reside). Isso significa que você pode chamar funções e referenciar variáveis em código antes mesmo
delas serem declaradas, mas isso se aplica de maneira diferente para variáveis (com var) e funções.

3. Event Loop e Concorrência

O modelo de concorrência do JavaScript é baseado em um "loop de eventos". JavaScript tem uma pilha de chamadas
única e não bloqueante, o que significa que operações como I/O não pausam a execução do código. Entender como
operações assíncronas são tratadas através de callbacks, Promises e async/await é crucial.

4. Prototipagem e Herança

JavaScript é uma linguagem baseada em protótipos para herança. Cada objeto em JavaScript tem uma propriedade
interna, chamada de [[Prototype]], que é um link para outro objeto. Quando você tenta acessar uma propriedade de
um objeto, o JavaScript primeiro procura no próprio objeto, e se não encontrar, ele procura no [[Prototype]] do
objeto, e assim por diante.

5. this Keyword

O valor de this dentro de uma função depende de como a função é chamada. Ele pode variar se a função é chamada
como um método de um objeto, como um construtor, como uma função regular ou no contexto global. Diferentes
modos de invocação (call, apply, bind) podem ser usados para especificar o valor de this.

6. Diferenças entre var, let, e const

var tem escopo de função e pode ser redeclarada e atualizada.

let tem escopo de bloco, não pode ser redeclarada no mesmo escopo, mas pode ser atualizada.

const também tem escopo de bloco, não pode ser redeclarada nem atualizada (embora objetos atribuídos a uma
const possam ter suas propriedades mutadas).

7. Async/Await

async e await são extensões de Promises que simplificam o trabalho com operações assíncronas, permitindo escrever
código assíncrono que parece síncrono. Uma função marcada como async pode usar await para pausar a execução até
que uma Promise seja resolvida.

8. Tipos de Dados e Estruturas

JavaScript tem tipos primitivos (string, number, bigint, boolean, undefined, symbol, e null) e objetos (incluindo arrays,
funções, e objetos literais). Entender como manipular esses tipos, incluindo operações comuns de array como map,
filter, e reduce, é importante.

9. Spread Operator e Rest Parameters

O operador spread (...) permite que elementos de iteráveis (como arrays) sejam expandidos em locais onde múltiplos
argumentos ou elementos são esperados. Rest parameters também usam a sintaxe ... e permitem representar um
número indefinido de argumentos como um array.

10. Destructuring
A atribuição via desestruturação é uma expressão JavaScript que possibilita extrair dados de arrays ou propriedades
de objetos em variáveis distintas.

Você também pode gostar