Alura > Cursos de Programação > Cursos de Node.JS > Conteúdos de Node.JS > Primeiras aulas do curso JavaScript: utilizando tipos, variáveis e funções

JavaScript: utilizando tipos, variáveis e funções

JS, Node.js e o backend - Apresentação

Olá! Boas-vindas ao curso de fundamentos do JavaScript voltado para back-end, funções, tipos de dados e variáveis. Meu nome é Juliana Amoasei e irei te acompanhar durante essa jornada!

Audiodescrição: Juliana se descreve como uma mulher branca, com cabelo curto liso pintado de azul, e olhos castanho-escuros. Ela usa óculos de armação redonda vermelha, brincos de argola prateados, veste uma camisa preta, e está sentada em uma cadeira preta no estúdio da Alura, com uma estante preta com enfeites ao fundo, iluminado em gradiente de verde para azul-escuro.

Para quem é este curso?

Este curso é indicado para você, que está começando em programação, escolheu o JavaScript como linguagem, e pretende trabalhar com back-end.

Pré-requisitos

Para aproveitar melhor o conteúdo deste curso, recomendamos que você já tenha passado pela formação de iniciante em programação, pois vamos considerar alguns conteúdos já aplicados nos cursos anteriores dessa formação.

Este curso não vai abordar tópicos de front-end, embora várias particularidades da linguagem sejam compartilhadas entre back-end e front-end. Se você não tiver certeza do que é back-end e front-end, também vamos abordar isso no curso.

O que vamos aprender?

Neste curso, você aprenderá o que é o JavaScript voltado para o back-end, o que é o Node.js, ferramenta utilizada durante este curso para executar nosso código em JavaScript, alguns fundamentos que são muito importantes em basicamente qualquer linguagem de programação, como funções, variáveis e tipos de dados, e os específicos da sintaxe do JavaScript para esses fundamentos.

Vamos abordar tudo isso com exemplos práticos, então vamos declarar variáveis, testar erros, entender as diferenças entre tipos de dados, e também conhecer outras características específicas da linguagem, como as formas do JavaScript de declarar funções.

Aproveite os recursos da plataforma que estão disponíveis para você. Além dos vídeos, há bastante conteúdo em texto e muitos exercícios. Aproveite também nosso fórum e a comunidade do Discord para tirar dúvidas e conversar sobre seus projetos e sobre seu código.

Vamos estudar?

JS, Node.js e o backend - JavaScript e o backend

Neste curso, vamos focar em JavaScript para back-end. Mas o que normalmente se entende por front-end e back-end?

JavaScript e o back-end

Front-end vs Back-end

Front-end se refere à parte onde há tela envolvida. As interfaces pelas quais as pessoas usuárias interagem com nossa aplicação são atribuições do front-end.

Portanto, botões que serão clicados, roupas que aparecerão em um e-commerce, formulários, tudo isso é atribuição do front-end. Além disso, tudo o que ocorre no front-end acontece no navegador. Essa é uma informação muito importante, lembre-se dela.

Já quando falamos de foco em back-end, nos referimos a tudo que acontece em uma aplicação ou site que está além da interface gráfica.

Ou seja, o que ocorre quando você clica para comprar um produto em um site? Toda essa interação, o que acontece com as informações que saem da tela, como as compras são processadas, como isso é armazenado no banco de dados, isso é atribuição do back-end e não ocorre mais no navegador. Isto é, o processamento do código não é mais feito no navegador.

Portanto, o JavaScript vai precisar de outra plataforma, de outra ferramenta para justamente fazer o processamento do código em um ambiente que não é mais a tela do navegador.

Por que tratamos de maneira diferente se é a mesma linguagem? De fato, é a mesma linguagem, no entanto, as ferramentas que o JavaScript utiliza no front-end e no back-end são diferentes.

No front-end, o JavaScript precisa ter acesso, por exemplo, a funções de cliques de botão. No back-end, como não há botão algum para clicar, não precisamos dessas funções, mas necessitamos de outras.

É nisso que reside a diferença principal entre o JavaScript para back-end e o JavaScript para front-end. Porém, a linguagem em si é a mesma.

O que há por trás das telas?

O que temos por trás das interfaces gráficas? O que significa JavaScript com foco em back-end? Quando vemos, por exemplo, a interface da plataforma da Alura com um curso selecionado, esse curso tem várias informações. Aparece na tela da plataforma o nome do curso, a carga horária do curso, quantas pessoas estão fazendo o curso, a avaliação, entre outros dados.

Essas informações são acessadas através do back-end. O back-end vai buscar nas bases de dados onde está o nome do curso, onde está a duração do curso, a lista de pessoas que participaram, e assim por diante. O back-end, ou seja, a parte de trás da aplicação, é responsável por juntar todas essas informações e fornecer ao front-end de forma que ele consiga exibir cada uma delas.

Assim, serão buscadas as informações de nome do curso, nome da categoria, em qual formação o curso se encontra, e colocar essas informações na tela para que a pessoa usuária interaja com nosso site.

Temos vários cursos a partir deste ponto que vão ensinar a criar essas aplicações, mas é importante entender as diferenças entre um e outro. Mas por que existe essa separação?

Uma linguagem interpretada

O JavaScript é uma linguagem interpretada. Vamos disponibilizar material extra explicando o que são linguagens interpretadas e linguagens compiladas.

O navegador é um programa capaz de analisar um código JavaScript, executar esse código e fazer o que esperamos que ele faça, por exemplo, nossas interações de tela, nossos cliques de botão, e assim por diante. Outras linguagens não funcionam no navegador; são as chamadas linguagens de back-end.

Quando executamos um código em JavaScript, por exemplo, através do Node.js, uma ferramenta que funciona fora do navegador, utilizamos o terminal para isso.

Portanto, quando precisamos executar código que não será lido pelo navegador, ou seja, os códigos JavaScript que trabalharão na parte de trás da aplicação, utilizamos outro interpretador para isso, e um desses interpretadores é o Node.js.

Conclusão

Agora que já conhecemos a diferença principal básica entre o front-end e o back-end, podemos entender um pouco mais sobre o que é o Node.js e por que ele é diferente do navegador. Afinal, essa será a ferramenta que vamos utilizar no desenvolvimento do curso. Vamos lá!

JS, Node.js e o backend - O Node.js

Para entender adequadamente o que é o Node.js e para qual propósito é utilizado, é crucial compreender como o JavaScript é executado, ou seja, como ele funciona dentro do computador.

Navegador vs Node.js

O navegador é o ambiente de interpretação original do JavaScript, pois opções além do navegador, como o Node.js, surgiram muito depois. Cada navegador, como já discutimos, desenvolve seu próprio motor (ou engine) de interpretação. A Google desenvolve para o Chrome, a Microsoft para o Edge, e assim por diante.

O Node.js nada mais é do que outro motor de interpretação do JavaScript que funciona fora do navegador. Mas por que ele existe? Por que ele funciona fora do navegador?

A resposta é para que possamos utilizar o JavaScript para outras funcionalidades no desenvolvimento web que ocorrem fora do navegador. Nesse sentido, o navegador tem funções diferentes do Node.js.

O interpretador de JavaScript do navegador tem funções para interpretar, por exemplo, o clique de um botão. Já o Node.js tem outras funcionalidades que o navegador não precisa, mas que são necessárias fora do navegador, no back-end.

Embora mencionamos que o Node.js possui uma engine diferente, na verdade, ele utiliza a mesma do Chrome. Portanto, o Chrome e o Node.js compartilham o mesmo motor de interpretação para executar o JavaScript, mas com funcionalidades diferentes.

Quando falamos em engines diferentes, queremos dizer que elas têm implementações distintas. Isso significa que, por trás de uma função pronta, por exemplo, Math.random(), que usamos nos cursos de iniciação à programação para gerar números aleatórios, cada navegador a interpreta de forma diferente.

A função é a mesma, utilizamos a mesma função tanto no Chrome quanto no Firefox, por exemplo. No entanto, internamente, a parte que normalmente não vemos na implementação do navegador, o código é diferente. Mas por que precisamos saber disso?

Esse é um dos motivos pelos quais os navegadores podem ter diferenças de desempenho. O código que executa uma função diferente pode afetar a performance do navegador.

O mesmo ocorre, por exemplo, ao analisarmos o console.log(), também utilizado nos cursos de iniciante em programação. A implementação do console.log() será a mesma tanto no navegador quanto no Node.js.

No entanto, a implementação de fato é distinta, isto é, o código que existe dentro da função console.log() é diferente. Ele processará as informações necessárias e executará nosso código de maneira diferente no Node.js, no Chrome e também no Firefox.

Conclusão

Agora que já entendemos o que é o Node.js, um ambiente de interpretação do JavaScript fora do navegador, se você ainda não conferiu as etapas de instalação dele na atividade Preparando o ambiente, faça uma pausa e confira, pois precisaremos colocar a mão na massa e ver o Node.js em ação!

Sobre o curso JavaScript: utilizando tipos, variáveis e funções

O curso JavaScript: utilizando tipos, variáveis e funções possui 121 minutos de vídeos, em um total de 70 atividades. Gostou? Conheça nossos outros cursos de Node.JS em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Node.JS acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas