"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > O que é JavaScript? Uma definição para cobrir tudo.

O que é JavaScript? Uma definição para cobrir tudo.

Publicado em 2024-08-20
Navegar:687

What is JavaScript? One Definition to Cover It All.

Isso pode ou não ser perguntado em uma entrevista, mas acredite em mim, depois de ler isso, você entenderá os jargões JS muito melhor. (Brownie aponta por usar isso durante uma entrevista).

Esta é a pergunta nº 3 da série Frontend Interview Questions. Se você deseja aprimorar sua preparação ou manter-se atualizado em geral, considere entrar na lista de espera do Frontend Camp.


JavaScript é uma linguagem de programação interpretada, de thread único, digitada dinamicamente, que oferece suporte a vários paradigmas, incluindo estilos orientados a objetos, funcionais e imperativos. Possui orientação a objetos baseada em protótipo e uma arquitetura orientada a eventos.

Esta é a definição nerd de JavaScript. Mas o que cada termo significa? Vamos descobrir.

Thread único

JavaScript é uma linguagem de thread único, o que significa que possui apenas um thread principal de execução. Isso também significa que possui uma única pilha de chamadas. Quando uma chamada de função é feita, ela é adicionada ao topo da pilha de chamadas. Assim que terminar a execução, ele será retirado da pilha e o controle passará para a próxima função na pilha de chamadas. Executar tarefas sequencialmente é fundamental para a natureza do JavaScript, mas fornece APIs para executar operações assíncronas (fetch e setTimeout são alguns exemplos).

Digitado dinamicamente

Em JavaScript, variáveis ​​não são explicitamente declaradas com tipos. Os tipos estão associados a valores e não a variáveis, pois são inferidos em tempo de execução. Os tipos também podem mudar durante o ciclo de vida de um programa. Esse recurso torna o JS flexível, mas pode ser suscetível a erros relacionados ao tipo. Ferramentas como TypeScript ajudam a adicionar tipos estáticos durante o desenvolvimento, mas eventualmente são compilados em JS.

Linguagem de programação interpretada

Ao contrário de linguagens compiladas como Java, JavaScript não é compilado em código de máquina antes da execução. Em vez disso, o código é lido, interpretado e executado linha por linha em tempo de execução. No entanto, para melhorar o desempenho, os mecanismos JavaScript modernos usam a compilação Just-In-Time (JIT), que compila pedaços de código dinamicamente. Essa abordagem melhora a velocidade de execução.

Orientado a objetos

Este paradigma de programação organiza o código em Objetos, que são instâncias de classes ou protótipos. A palavra-chave class foi introduzida no ES6 para açúcar sintático. Nos bastidores, as classes em JavaScript ainda usam protótipos. Esta implementação de OOP é exclusiva do JavaScript.

Funcional

É um paradigma de programação que promove a escrita de código declarativo, enfatizando o uso de funções. Alguns dos conceitos-chave são:

  1. Funções puras: funções que sempre produzem a mesma saída para determinadas entradas e não têm efeitos colaterais.
  2. Funções de ordem superior: funções que podem receber outras funções como argumentos ou retorná-las como resultados.
  3. Imutabilidade: Tratar os dados como imutáveis, embora o JavaScript não imponha isso por padrão.
  4. Funções de primeira classe: As funções são tratadas como cidadãos de primeira classe, o que significa que podem ser atribuídas a variáveis, passadas como argumentos ou retornadas de outras funções.
  5. Composição de funções: Construindo funcionalidades complexas combinando funções mais simples.

JavaScript suporta esses conceitos de programação funcional junto com seus outros paradigmas, permitindo que os desenvolvedores usem técnicas funcionais quando apropriado.

Imperativo

A programação imperativa é um paradigma onde o código descreve explicitamente a sequência de etapas que o programa deve seguir para atingir o estado desejado. JavaScript oferece suporte total a todas as construções necessárias, como variáveis, loops, condicionais e operadores, necessários para escrever código imperativo. Esta abordagem permite um controle preciso sobre o fluxo de execução do programa. É frequentemente usado para implementar algoritmos e gerenciar mudanças de estado complexas.

Orientação baseada em protótipo

JavaScript usa um modelo de objeto baseado em protótipo, que é uma forma de programação orientada a objetos onde os objetos são as entidades primárias. Ao contrário das linguagens baseadas em classes, JavaScript usa protótipos para implementar herança e compartilhar propriedades e métodos entre objetos.

Os principais aspectos da orientação baseada em protótipo em JavaScript incluem:

  1. Criação de objetos: os objetos podem ser criados diretamente sem definir uma classe primeiro.

  2. Cadeia de protótipo: Cada objeto possui um link para outro objeto denominado protótipo. Se uma propriedade ou método não for encontrado em um objeto, o JavaScript procura por ele no protótipo, depois no protótipo do protótipo e assim por diante.

  3. Herança: objetos podem herdar propriedades e métodos de outros objetos por meio de sua cadeia de protótipos.

Este sistema baseado em protótipo permite uma programação orientada a objetos poderosa e flexível.

Arquitetura orientada a eventos

A arquitetura baseada em eventos do JavaScript é uma abordagem de programação onde o fluxo do programa é determinado por eventos como ações do usuário, saídas de sensores ou mensagens de outros programas. Isso é fundamental para a forma como o JavaScript interage com os navegadores da web e lida com operações assíncronas.

Os principais aspectos da arquitetura baseada em eventos do JavaScript incluem:

  1. Listeners de eventos: funções que "escutam" eventos específicos e são executadas quando esses eventos ocorrem.

  2. Loop de eventos: um processo contínuo que verifica e envia eventos para seus ouvintes.

  3. Programação assíncrona: permite que o código seja executado sem bloquear o thread principal, crucial para aplicações web responsivas.

Essa arquitetura permite que o JavaScript lide com interações do usuário, chamadas de API, temporizadores e outras operações assíncronas de forma eficiente, tornando-o adequado para a criação de aplicativos da web interativos.

Todos esses conceitos combinados tornam o JavaScript uma linguagem versátil que pode ser usada em uma variedade de plataformas como Web, Mobile, Servidor e AR.


Notas

Para sua entrevista, lembre-se desta definição:

JavaScript é uma linguagem de thread único, digitada dinamicamente e compilada interpretada. É uma linguagem multiplataforma, mas usada principalmente na web para adicionar interatividade às páginas.

Recursos

Acampamento de front-end
O que significa Javascript é linguagem de thread único
Linguagens de programação interpretadas versus compiladas

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/thesanjeevsharma/what-is-javascript-one-definition-to-cover-it-all-43l2?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3