JavaScript — Tudo o que você sabe sobre JS

Nov 30 2022
Existem alguns conceitos básicos em JavaScript (também conhecidos como JS) que são muito essenciais para aprender. Neste blog, tentei fazer uma demonstração curta, mas direta, desses conceitos cruciais de JS.

Existem alguns conceitos básicos em JavaScript (também conhecidos como JS) que são muito essenciais para aprender. Neste blog, tentei fazer uma demonstração curta, mas direta, desses conceitos cruciais de JS. Certamente, depois que você aprender esses tópicos, o JavaScript ficará menos estranho para você. Então, sem mais delongas! Vamos começar.

Alta Abstração
Na programação, alta abstração significa que partes comparativamente complexas são ocultadas e partes simplificadas são visualizadas. A sintaxe das linguagens de alta abstração é fácil em comparação com linguagens de baixo nível como C e Java, o que torna mais fácil para os programadores trabalhar com uma linguagem de alta abstração como JavaScript, Python, Go e assim por diante.

Garbage Collector
Ao contrário de linguagens de baixo nível como C, não precisamos manter a memória manualmente em JavaScript. Em vez disso, o JavaScript usa gerenciamento automático de memória, chamado Garbage Collection. Usando o algoritmo Mark-and-Sweep, o mecanismo JavaScript coleta automaticamente as alocações de memória não utilizadas e as remove.

Compilação JIT
Com a ajuda da compilação JIT (just in time), o programa é compilado durante o tempo de execução em código nativo para melhorar o desempenho. Os navegadores modernos oferecem suporte à compilação JIT para compilar o código JavaScript, o que torna o tempo de execução mais rápido.

Multiparadigma
Uma linguagem multiparadigma permite que os programadores projetem um programa em várias abordagens. JavaScript suporta programação orientada a objetos, programação procedural, programação funcional e assim por diante.

Baseado em protótipo
Obviamente, JavaScript é uma linguagem baseada em protótipo, o que significa que as propriedades e métodos de um objeto podem ser compartilhados em objetos generalizados que podem ser clonados e estendidos. Em palavras simples, você pode clonar as propriedades e métodos de um objeto e também adicionar propriedades e métodos adicionais a esse objeto recém-clonado.

Tipado dinamicamente
Simplificando, em JavaScript o tipo de uma variável é verificado em tempo de execução. Para isso, nem precisamos especificar o tipo de dados de uma variável. Além disso, é chamada de linguagem fracamente tipada porque os tipos de dados também podem ser alterados automaticamente no tempo de execução, o que é chamado de coerção de tipo. No entanto, TypeScript, um superconjunto de JavaScript, é uma linguagem de tipagem estática.

Single-Threaded
JS tem uma pilha de chamadas e um heap de memória, o que significa que há apenas um thread (processo) para as instruções a serem executadas. Diretamente, apenas uma instrução é executada por vez em JavaScript.

Assíncrono
Embora seja uma linguagem de encadeamento único, o JavaScript se comporta de forma assíncrona com a ajuda da fila de retorno de chamada e do loop de eventos. As instruções assíncronas são armazenadas na fila de retorno de chamada e são chamadas pelo loop de eventos e depois disso são executadas sempre que as operações síncronas são executadas.

Non-Blocking
Non-blocking refere-se à noção de não bloquear a execução para operação posterior. O JavaScript não espera para concluir as operações de E/S estendidas e solicitações HTTPS. Em vez de esperar, ele armazena a instrução assíncrona na fila de retorno de chamada e executa o restante das operações síncronas. Esse conceito sem bloqueio também está relacionado ao comportamento assíncrono do JavaScript que já discutimos.

As funções são cidadãos de primeira classe
As funções são chamadas de cidadãos de primeira classe em JavaScript. Porque, em JavaScript, as funções podem ser declaradas como variáveis, podem ser passadas como argumento em outra função e podem ser retornadas de uma função. Além disso, as funções podem ser definidas como um método de um objeto.

Observação: neste blog, apenas tentei fornecer uma visão geral dos recursos e características mais importantes do JavaScript. Agora é seu dever aprender mais sobre esses tópicos mencionados acima.