Javascript: o guia definitivo sobre essa linguagem de programação!

Linguagens de programação é certamente um dos primeiros assuntos que toda pessoa entusiasta da área de tecnologia ouve falar. Essa ferramenta possibilita a criação de softwares, aplicativos e outros sistemas e também permite que seres humanos executem ações sob eles. Uma das linguagens mais conhecidas na atualidade é o Javascript. Criado em 1995,  por Brendan Eich, enquanto esteve na Netscape Communications Corporation, a tecnologia é extremamente flexível e multifacetada, fazendo com que milhares de pessoas desenvolvedoras se interessassem com ela. 

O Javascript é muito usado em praticamente toda a web, inclusive, se você desativar a linguagem no navegador, verá os sites se comportando de formas muito estranhas. Assim, é necessário conhecer e dominar essa tecnologia.

Quer saber mais sobre essa linguagem de programação para se preparar para bons empregos e oportunidades no mercado? Confira o nosso guia!

O que é Javascript?

Javascript é uma linguagem de programação de uso geral, mas principalmente aplicada para desenvolvimento web, seu propósito de surgimento. Como citamos anteriormente, ele criado em 1995, por um programador chamado Brendan Eich, para funcionar como um complemento para o navegador proeminente da época, o Netscape.

É um padrão multiparadigma com o objetivo de tornar as páginas web dinâmicas e interativas. Antes de 1995, a internet ainda estava nos seus anos iniciais, e tudo o que se tinha de tecnologia para desenvolvimento das interfaces era HTML e CSS.

O HTML é uma linguagem de marcação, focada em determinar os elementos principais que compõem a estrutura básica de uma página web, como um esqueleto. Já o CSS é o responsável pela personalização visual de um site, como cores, posicionamento, configurações específicas de fontes e tamanhos, etc.

Contudo, essas duas tecnologias ainda eram muito limitadas para as necessidades crescentes das pessoas. Tudo se resumia a sites estáticos, que eram baixados e interpretados de uma vez pelo navegador.

Onde o Javascript pode ser usado?

Para prosseguir, vamos entender um pouco sobre o funcionamento da internet: de um lado, temos uma pessoa, que vamos chamar de cliente. Ao acessar o site através do navegador, a cliente faz uma solicitação ao outro lado, conhecido como servidor. O servidor então envia os dados para o navegador da cliente, para que o site seja exibido. Você, ao acessar este blog, é uma cliente e nosso servidor está enviando informações para que seu navegador possa te mostrar esse post.

Durante esse processo, são executadas diversas funções no servidor e no navegador da cliente. O Javascript está presente principalmente no lado da pessoa cliente (frontend), instruindo o navegador a executar determinadas ações, mas também pode ser utilizado no lado servidor (backend).

O JS, como é conhecido, foi proposto como uma forma de tornar os sites mais robustos ao potencializar a comunicação deles com a pessoa que o acessa, permitindo manipulações dos componentes web a partir de suas ações, por exemplo.

Além disso, ele possibilitou às páginas web mais funcionalidades, ao permitir a inserção de uma lógica de programação no lado da pessoa cliente. Ou seja, com Javascript, tornou-se possível pensar em fluxos lógicos, como “se X ocorrer, faça Y” ou “enquanto X estiver acontecendo, continue repetindo Y”.

Assim, profissionais da programação poderiam começar a pensar em aplicações web — e não somente em um conjunto estático de informações.

Javascript no frontend: nesse contexto, torna os sites mais robustos ao potencializar a comunicação deles com a pessoa cliente, permitindo manipular elementos da página e criar comportamentos dinâmicos a partir de suas ações, por exemplo.

Javascript no backend: No contexto do servidor, é possível executar diversas tarefas, tais como tratar requisições, comunicar com bancos de dados e enviar dados para a pessoa cliente, por exemplo.

Nesta seção, vamos analisar as vantagens e desvantagens da linguagem de programação Javascript. Confira!

Como principais vantagens podemos listar:

  • Linguagem Leve: Navegadores possuem um interpretador nativo da linguagem e interpretam o código Javascript muito rápido. O código é executado na sua forma natural, sem a necessidade de um compilador ou interpretador externo, permitindo que alterações no código ou identificação de erros sejam feitas em tempo de execução.
  • Alto nível: O JS é uma linguagem de alto nível, apresenta comandos em um idioma comum, que, no caso é o inglês, facilitando o desenvolvimento se comparada a linguagens de baixo nível, onde os comandos são complexos e com muitos termos desconhecidos e/ou abreviados
  • Flexibilidade e versatilidade: Por ser uma linguagem interpretada e um padrão no desenvolvimento web, pode ser executada em diferentes navegadores, simplificando o processo de desenvolvimento. Além disso, é possível também executar Javascript no lado do servidor e criar diversas outras aplicações, tais como criar jogos, aplicativos desktop e aplicativos mobile.
  • Comunidade consolidada: O Javascript é a linguagem mais conhecida do mundo. Por isso, a comunidade é também outro ponto forte, isso significa que há ajuda mútua em canais de comunicação, códigos prontos, muitas bibliotecas e/ou frameworks, tudo isso contribuindo para a evolução da linguagem.

Como principais desvantagens podemos listar:

  • Frameworks obsoletos: Enquanto por um lado é bom contar com várias ferramentas para solucionar problemas, por outro, a realidade mostra que surgem novos frameworks com uma frequência muito alta. Isso torna os outros obsoletos frequentemente.
  • Diferentes interpretadores:A capacidade do JS ser interpretado por diversos navegadores é considerado uma vantagem, porém requer que a pessoa desenvolvedora tenha muita atenção ao implementar novas funcionalidades, pois cada navegador possui seu próprio “motor” para interpretar Javascript e em alguns casos, podem apresentar interpretações diferentes do mesmo código.
  • Segurança limitada: Uma das características das linguagens interpretadas é o fato de que o seu código fica totalmente aberto e disponível para inspeção no sistema que o interpreta. Com JS é possível entender a lógica por trás de qualquer aplicação e, inclusive, copiar algumas partes. Por conta disso, a segurança ainda é um problema para a linguagem, principalmente na construção de aplicações que têm acesso a fatores sensíveis, como a câmera de quem acessa. Isso pode ser facilmente clonado e utilizado por pessoas mal-intencionadas

Por que aprender Javascript é importante?

O Javascript é considerada a linguagem de programação mais usada pelas pessoas programadoras ao redor do mundo, segundo um levantamento da empresa Stack Overflow. Dessa forma, para quem deseja seguir uma carreira na área de tecnologia, principalmente desenvolvimento de software, é estratégico aprender essa Javascript.

No desenvolvimento web, o Javascript pode ser usado no Frontend, Backend e até mesmo na comunicação com banco de dados.

No frontend é possível manipular os elementos da página, como já exploramos. No backend é possível tratar requisições e executar diversas tarefas através do framework mais popular Node.js. Já para o banco de dados, o MongoDB permite que a mesma tecnologia seja usada em consultas.

Assim, com o conhecimento de apenas uma linguagem, a pessoa pode se tornar um full-stack — termo que descreve a pessoa capaz de desenvolver em todas as etapas de um sistema web. Ter esse tipo de pessoa na equipe é vantajoso para as empresas, pois dispensa a necessidade de mais contratações.

Contudo, estamos falando de uma tecnologia que vai além da web. Atualmente, ela é importante também para o desenvolvimento de aplicações mobile, através de frameworks como por exemplo o React Native e o Cordova. É possível também criar aplicações desktop, com o Electron, por exemplo.

No mercado de games, também há possibilidades, bem como no de criação de testes de software e no universo da internet das coisas. Ou seja, aprender Javascript é abrir uma porta para um universo de possibilidades na carreira. Você pode usar esse conhecimento em diferentes áreas e evoluir como profissional com desafios novos.

Por onde começar a aprender Javascript?

Começar a aprender Javascript pode parecer uma tarefa desafiadora, mas é possível torná-la bem prática e intuitiva apenas com a organização dos tópicos principais dessa linguagem! Confira quais são eles: 

Variáveis e constantes 

Variáveis são nomes simbólicos para representar valores em sua aplicação, ou seja, os valores que você irá trabalhar em seu código. Elas são responsáveis por tornar sua estrutura compreensível e dinâmica e podem ser alteradas ao longo da construção. Já as constantes são representam um valor fixo que não poderá ser alterado ou declarado ao longo da execução. 

Aprenda como executar variáveis e constantes e veja exemplos:

Tipos primitivos

Tipos primitivos são dados básicos que possuem apenas um valor. Primitivos não são objetos, portanto, não possuem métodos. 

Em Javascript temos os seguintes tipos primitivos:

  • Strings: É uma sequência de caracteres utilizados para representar textos.
  • Number: É um tipo de dado que representa números.
  • Boolean: é um tipo de dado lógico que pode ter apenas dois valores: true ou false.
  • Null: em Javascript representa um valor nulo ou vazio. Pode representar também um objeto inexistente;
  • Undefined: é um tipo de dados especial atribuído automaticamente a variáveis criadas sem valor ou a parâmetros de uma função que não recebeu argumentos;
  • Symbol: Introduzido no ES6; 

Aprenda mais sobre tipos primitivos e veja exemplos:

Operadores aritméticos 

Em Javascript é possível realizar operações matemáticas de maneira simples, através dos operadores aritméticos.
Os operadores usam valores numéricos para realizar “cálculos”, esses cálculos retornam um único valor, o resultado da operação. Ele se dividem em operadores unários e binários. Entenda como eles funcionam e veja as aplicações:

Operadores de comparação

Estes operadores comparam dois valores e retorna um resultado buleano, valor lógico (boolean). São eles: 

  • Maior que (>): retorna verdadeiro caso o valor da esquerda seja maior que o valor da direita.
  • Maior que ou igual (>=): retorna verdadeiro caso o valor da esquerda seja maior ou igual ao valor da direita.
  • Menor que (<): retorna verdadeiro caso o valor da esquerda seja menor que o valor da direita.
  • Menor que ou igual (<=): retorna verdadeiro caso o valor da esquerda seja menor ou igual ao valor da direita.
  • Igualdade (==): retorna verdadeiro caso os valores sejam iguais.
  • Desigualdade (!=): retorna verdadeiro caso os valores sejam diferentes.
  • Estritamente Igual (===): retorna verdadeiro caso os valores e os tipos sejam iguais.
  • Estritamente Desigual (!==): retorna verdadeiro caso os valores e/ou tipos não sejam iguais.

    Veja como aplicar os operadores de comparação em seu código:

Operadores lógicos 

Os operadores lógicos são utilizados com valores boolean ou expressões e retornam um valor boolean como resultado da operação, sendo eles:

* Lógico 
* Não lógico

Quer saber como aplicar esse conceito? Confira aqui:

Estruturas condicionais

Estruturas condicionais é um meio pelo qual conseguimos expressar nosso raciocínio lógico e situações do dia a dia de uma forma estruturada. De forma prática, as estruturas condicionais são blocos de códigos que são executados apenas se determinada condição for verdadeira, muito útil para programar um comportamento específico baseado nas ações da pessoa usuária ou em algum valor.
Ex.: Se eu tiro 10 na prova, então sou aprovado, senão, não sou; 
Se eu estudo, então aprendo, senão, não aprendo;
Se está frio e chovendo, então Netflix, senão, praia.

Mas, como na linguagem de programação usamos o inglês para escrever códigos, o If fica no lugar do “Se” e o Else no lugar do “senão”. 

Veja como isso funciona na prática: 

Arrays 

Já mostramos anteriormente que as variáveis em JavaScript são recipientes ou containers para os dados, por exemplo:

var cor = "Verde";

Os Arrays são estruturas utilizadas para armazenar múltiplos valores em uma única variável. 

var cores = ["Verde", "Vermelho", "Amarelo"];

Entenda como isso finciona na prática:

Avançando em array: 

Existem diversas formas de manipular os elementos de um array. Entre elas, temos:  

  • ForEach – A função do ForEach em javascript é executar determinada função para cada elemento de um array em ordem ascendente. 
  • Map – A função do Map em javascript é fazer a leitura de todos os elementos do array, executa uma função callback para cada um e devolve como retorno um novo array.
  • Filter –  A função do Filter em javascript é fazer a filtragem de elementos com apenas poucas linhas de comandos. Ele faz a leitura dos elementos da array em busca de um valor de referência passado por meio de uma função callback.

Strings 

Entre as operações mais comuns na programação temos a manipulação de palavras e caracteres. Isso pode ser feito com o objetivo de comparar informações, extrair dados digitados por quem está usando o sistema, processar dados de um formulário, bem como outras ações. Para essas funções, existe um termo específico para descrever um tipo primitivo e composto de dados: String – Vale lembrar que a string é um tipo primitivo. 

uma string é um conjunto de espaços de memória alocados sequencialmente sob um nome específico. Cada espaço na memória pode ser acessado por um índice, com uma contagem que começa sempre com 0, que é um valor que determina o começo em programação.

Aprenda strings na prática: 

Avançando em string: 

Sabendo o que é String, temos a definição de substring: uma sequência de caracteres dentro de uma sequência maior. Ou seja, cada caractere dentro de uma string já é uma substring dela e as combinações que podem ser feitas também são.

Internamente, o JavaScript transforma as strings do tipo primitivo em objeto sempre que for preciso utilizar algum método ou propriedade. Dessa forma, é possível executar uma série de ações na variável, entre elas a utilização do método split. Outro método comum quando pensamos em string é o método replace, substitui um trecho de uma string por outro. 

Estrutura de repetição

Estruturas de repetição são blocos de códigos que executam determinadas instruções repetidas vezes. Em Javascript temos diferentes mecanismos para repetir esses blocos de código, o que os difere são as condições para iniciar ou parar a execução. Essas estruturas também são conhecidas como loop. Entre as principais estruturas de repetição em javascript temos o For, while, o forEach e o do..while.

Funções

Funções são a forma mais essencial de organização de código e de lógica na programação. Através de funções você consegue empacotar partes do seu código e separá-las em blocos lógicos auto-contidos. Assim, ao invés de ter um programa de cem linhas com uma lógica linear que segue do começo ao fim e bem mais difícil de identificar o que cada parte desse código faz, você tem menos repetição e um programa onde a lógica está muito bem dividida – e, portanto, muito mais fácil de ser entendida.

Objetos 

Em Javascript um objeto é um conjunto de propriedades e métodos. O objeto é usado para representar algo da vida real, possibilitando definir características e comportamentos únicos.

Métodos

São funções que pertencem a um objeto e podem ser invocadas por esse objeto. Possuem a capacidade de acessar as propriedades do objeto que as invocou através da palavra reservada this, seguida por . (ponto) e o nome da propriedade.

Alguns objetos e métodos globais do Javascript

Agora que você já sabe o que são funções, objetos e métodos, confira abaixo alguns objetos e métodos globais do Javascript, ou seja, que podem ser acessados em qualquer parte do código:

Javascript alert

O método javascript alert(), que pertence ao objeto global window, exibe uma mensagem no navegador por meio de uma caixa de diálogo, que nada mais é que uma pequena janela popup. Além do texto, também é exibido um botão de confirmação para indicar que a pessoa realmente leu a mensagem. Portanto, a janela só será fechada após o clique no botão de confirmação.

Por ter a característica de bloquear a navegação da pessoa usuária enquanto o botão confirmar não for clicado, esse recurso deve ser usado com moderação. Além disso, existem navegadores que oferecem a função de bloquear o uso dessa funcionalidade.

Javascript date

O objeto javascript Date faz parte dos objetos globais disponíveis na linguagem e é utilizado para a manipulação de data e hora. Para isso, conta com uma série de métodos para trabalhar com datas e tempos.

A manipulação de informações sobre a data e tempo requer muita atenção, pois existem situações que podem causar alterações no seu conteúdo em função da diferença de tempo entre as localizações. Por isso, é preciso entender como esse objeto funciona e qual a melhor forma de garantir a precisão adequada ao trabalhar com datas em JavaScript.

Clique aqui para saber mais sobre Javascript date format no texto que preparamos sobre esse assunto!

Diferenças entre Java e Javascript

Essa é uma dúvida bem comum e muita gente acaba confundindo os dois termos, especialmente para quem não é da área.

Ambas são linguagem, mas apesar da semelhança do nome, as duas são bem diferentes.

O Java é uma linguagem de programação desenvolvida na década de 90, é uma linguagem orientada a objetos. Você já tentou acessar algum site ou programa que pediu para atualizar ou instalar o Java? Isso significa que aquele programa ou site foi programado em Java e para acessa-lo por completo você precisa instalar a maquina virtual do Java (programa que você faz o download no seu computador).

Já o Javascript é a linguagem de programação da qual estamos abordando nesse texto.

Empresas que utilizam o Javascript

Hoje, estima-se que a maior parte da web tenha sido construída em Javascript. Por isso, trouxemos uma lista de sites que utilizam a tecnologia.

  • Slack: essa aplicação desktop é feita com o framework Electron;
  • Google: boa parte das interações do Google é em Javascript. Um exemplo disso é a ferramenta de autocompletar da barra de pesquisa; outro é a rolagem infinita da pesquisa de imagens;
  • Twitter: a rolagem infinita da timeline é em JS, bem como a divisão do site em colunas. Perceba como uma dessas colunas sempre permanece estática, enquanto outras mudam com novas páginas carregadas. Isso é Javascript em ação;
  • Netflix: a reprodução automática de partes de um filme/série quando posicionamos o mouse sobre a miniatura é JS, bem como as mini galerias que mostram os filmes/séries em sequência.

Como é o mercado de trabalho para quem programa Javascript?

Em complemento à pesquisa que vimos sobre o Javascript ser a linguagem mais conhecida, temos também um estudo do Stack Overflow que sacramentou a sua importância: ela é a linguagem mais usada no mundo, superando Python, PHP e Java. Assim, profissionais dispõem de um mercado aquecido com diversas e ótimas oportunidades.

Além disso, o desenvolvimento full-stack tem alta demanda ultimamente. Ou seja, quem domina esses conhecimentos têm grande chance de encontrar ótimos trabalhos, principalmente em aspectos de remuneração. Outra procura grande é por frameworks e bibliotecas específicas, como o Angular e o React.

Como vimos, o Javascript é uma tecnologia com enorme potencial e importância. Tanto na web quanto fora dela. Por isso, oferece inúmeras vantagens para quem deseja avançar na carreira de programação e conseguir bons empregos.

Agora que você já conhece mais sobre essa linguagem, bora colocar a mão na massa? Confira o curso introdutório de Javascript da Trybe: