0% acharam este documento útil (0 voto)
0 visualizações2 páginas

Assuntos Confusos JavaScript

O documento aborda confusões comuns que iniciantes enfrentam em JavaScript, incluindo o uso de var, let e const, tipagem dinâmica e coerção de tipos. Também discute conceitos de assíncronismo, o contexto de 'this', escopo e closures, além de hoisting e manipulação de objetos e arrays. Por fim, menciona funções de alta ordem como fundamentais no paradigma funcional da linguagem.

Enviado por

stockgame2002
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
0 visualizações2 páginas

Assuntos Confusos JavaScript

O documento aborda confusões comuns que iniciantes enfrentam em JavaScript, incluindo o uso de var, let e const, tipagem dinâmica e coerção de tipos. Também discute conceitos de assíncronismo, o contexto de 'this', escopo e closures, além de hoisting e manipulação de objetos e arrays. Por fim, menciona funções de alta ordem como fundamentais no paradigma funcional da linguagem.

Enviado por

stockgame2002
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 2

Principais Assuntos que Causam Confusão nos Iniciantes em

JavaScript

1. Var, Let e Const

- 'var' tem escopo de função e sofre hoisting (é içada para o topo do escopo).
- 'let' e 'const' têm escopo de bloco e não podem ser acessadas antes da declaração.
- 'const' não permite reatribuição, mas objetos e arrays ainda podem ser modificados.

2. Tipagem Dinâmica

- JavaScript é fracamente tipado: variáveis podem mudar de tipo.


- Pode gerar confusão com operações como: '5' + 1 = '51' (concatenação).
- Use funções como typeof() para inspecionar tipos.

3. Coerção de Tipos

- Coerção implícita converte tipos automaticamente, o que pode gerar bugs.


- Comparações com '==' fazem coerção, enquanto '===' exige tipo e valor iguais.

4. Assíncronismo (Callbacks, Promises e Async/Await)

- JavaScript é assíncrono por padrão, usando event loop.


- Callbacks podem gerar 'callback hell'.
- Promises simplificam o controle de fluxo assíncrono.
- 'async/await' torna o código mais legível, mas deve ser usado com try/catch.

5. This e Contexto de Execução

- 'this' varia conforme o contexto de execução.


- Em métodos de objetos, 'this' refere-se ao objeto.
- Em funções normais, depende de como são chamadas.
- Arrow functions não têm seu próprio 'this'.

6. Escopo e Closures

- Escopo define onde uma variável pode ser acessada.


- Funções aninhadas têm acesso às variáveis de seus escopos pais.
- Closures ocorrem quando uma função lembra do escopo onde foi criada.

7. Hoisting

- Declarações de variáveis e funções são 'içadas' ao topo do escopo.


- 'var' é içada com valor undefined; 'let' e 'const' são içadas, mas não inicializadas.

8. Operadores Lógicos e Curto-Circuito

- Operadores como '&&' e '||' retornam o valor de uma das expressões.


- Útil para fornecer valores padrão, mas pode confundir se mal interpretado.

9. Manipulação de Objetos e Arrays

- Diferença entre cópia por valor e referência.


- Spread operator (...) e Object.assign() ajudam na clonagem.
- Métodos como map, filter e reduce são poderosos, mas requerem prática.

10. Funções de Alta Ordem

- Funções que recebem ou retornam outras funções.


- Base do paradigma funcional no JavaScript.
- Usadas em map, filter, reduce, etc.

Você também pode gostar