Capítulo 2: Como falar JavaScript

JavaScript, como qualquer outra linguagem de programação, tem sua sintaxe e convenções de uso - regras e maneiras de compor o código. Neste capítulo, vamos aprender cada regra de sintaxe e, ao longo disso, algumas das convenções mais utilizadas.

Como em qualquer outra linguagem, organizar o nosso código é fundamental. Assim, podemos sempre ler quando necessário e fazer alguma modificação mais facilmente. Para manter seus scripts organizados, são necessárias três coisas: separação em arquivos (biliotecas), comentários (que serão vistos a seguir) e identação (técnica utilizada para dividir cada bloco de código hierarquicamente).

Caso você não tenha visto nenhuma outra linguagem de programação antes e ainda esteja "boiando", não se preocupe. Aqui, vou tentar abranger o máximo possível de conteúdo, para que assim você possa conhecer a função de cada palavra na linguagem. Isso não é algo que você tem que se preocupar, pois muitas vezes você pode ignorar que o JavaScript é usado mesmo, mas a maioria dos sites de casino, mesmo on-line (http://www.casino.com/pt/) os, conterá algumas. Se você precisa fazer para entendê-lo, aqui é o local para aprender.

Mas, antes disso, vamos relembrar (ou aprender) cada tipo de item que podemos usar no nosso código ECMAScript de uma forma generalizada (lembrando que ECMAScript é o coração do JavaScript, logo, a sintaxe pertence à parte do ECMAScript):

Variáveis
São onde guardamos os valores usados no nosso código. Como seu próprio nome diz, elas podem variar quando e onde quisermos.
Constantes
São iguais às variavéis, apenas com uma diferença (que você já deve ter notado). Exato, as constantes, convencionalmente, guardam valores não variáveis.
Palavras reservadas (keywords)
São "comandos" específicos que controlam a lógica do nosso código. Como são palavras reservadas, você não pode definir nenhuma variável, constante ou seja o que for com o mesmo nome de uma keyword.
Funções / métodos
Também chamados procedimentos em outras linguagens (como Delphi), são blocos de código que, dependendo de como são definidos, podem receber parâmetros e/ou ser executados várias vezes, quando e onde for possível ou necessário.
Comentários
Os comentários ajudam muito qualquer script (de qualquer linguagem) pois, se bem usados, nos ajudam a entender o que cada bloco ou linha de código vai fazer. Isso auxilia bastante a manutenção e leitura do código.

Sintaxe e convenções

Mas como assim "sintaxe"? Sintaxe é a estrutura de comunicação usada em qualquer linguagem, é a regra que determina os nomes e onde devem ficar cada pedaço de código. É a sintaxe de uma linguagem que vai definir o modo que você escreve uma variável, uma nova função, etc.

A sintaxe do JavaScript

Pra quem já conhece outras linguagens de programação como Java, Perl e C, é fácil entender a sintaxe do ECMAScript porque ele toma emprestado algumas regras de sintaxe dessas linguagens. Pra quem ainda não conhece linguagem alguma, fica ainda mais fácil conhecer a sintaxe do ECMAScript, já que ela é muito fácil e lógica e você não terá que passar por confusões como bah, mas em Php é assim, e não assim.

Antes de aprendermos a criar cada item, vamos primeiro dar uma boa olhada nas regrinhas a seguir, sobre o ECMAScript:

Convenções de escrita

Como em qualquer linguagem, é fundamental que adotemos uma convenção de escrita do código, para podermos manter um padrão de criação e organização de código. Seguir uma boa convenção significa obter uma maior organização e legibilidade para o nosso código.

A primeira convenção que vamos conhecer é a camel-case ou Camel Notation. Assim como cada corcova de um camelo, ficaria cada letra inicial de uma nova palavra (em maiúsculo) no nome da variável, exceto a primeira palavra. Por exemplo, o nome numeroDePatasDoCachorro segue essa convenção, assim como numero também segue.

À medida que formos avançando no curso, vamos conhecer mais sobre sintaxe e convenções através da prática

A prática é o melhor meio de aprendizado. Não adianta ler ou ouvir se não há prática. A experimentação de cada elemento de um novo aprendizado é fundamental para que seja tirado o máximo proveito de toda teoria. Portanto, sempre teste cada novo elemento que você for aprendendo, ponha cada novo item em prática. Assim, quando você estiver formulando uma lógica, você vai saber exatamente que recursos da linguagem serão usados para chegar ao seu objetivo.

Variáveis, escopos e tipos

Cada valor que manuseamos no nosso código pode ser guardado num espaço na memória do computador, que é representado por uma variável. Ou seja, nós sempre podemos criar variáveis para guardar valores; assim, podemos usá-los e alterá-los dentro do escopo onde a variável está.


	var meuNome = "Evandro Myller", meuAnoDeNascimento = 1991;

Um escopo é definido pelo local onde criamos e usamos as variáveis em nosso código. Daí surgem os termos variáveis locais e variáveis globais. Por exemplo: se estivermos dentro de uma função e criarmos uma variável lá, ela só poderá ser manipulada dentro dessa função; ou seja, dentro do escopo pertencente a essa função (escopo local). Mas, caso criemos uma variável fora de qualquer função, no escopo global, podemos acessar essa variável de qualquer lugar no nosso código.

Representação da diferenças entre escopos.

Note que de dentro da função (área em vermelho, escopo local da função mostraNome) podemos usar a variável local (outroNome) e a variável global (meuNome) que foram definidas no código. A última linha (09) mostrará um erro, pois a variável outroNome não será encontrada no escopo onde está sendo chamada (global).

Lembre-se da seguinte regra: Todo escopo filho tem acesso ao escopo pai, mas nenhum escopo pai tem acesso ao escopo filho. Em outras palavras, nós sempre temos acesso ao escopo externo na função em que estamos, seja esse escopo o global ou o escopo de uma função pai (sim, podemos ter funções dentro de outras funções, aninhadas). Mas se, por exemplo, estivermos no escopo global e quisermos influir num determinado escopo de alguma função, isso não será possível - até porque não há nenhuma lógica nisso.

Resumo do capítulo