As instruções JavaScript controlam o fluxo geral dos programas JavaScript. As instruções são usadas para declarar variáveis e gerenciar processos iterativos, e também podem ser usadas para declarar classes e funções.
Ao contrário das propriedades, métodos e eventos, que são inseparáveis do objeto que os possui, as instruções funcionam de forma independente. Isso significa que você pode usar uma instrução em qualquer contexto, esteja programando um aplicativo do lado do cliente ou do lado do servidor. Como linguagem, o JavaScript suporta relativamente poucas instruções – apenas o suficiente para construir aplicações funcionais.
Este artigo aborda um exemplo de instruções JavaScript que você provavelmente verá e usará em seus programas JavaScript. Algumas das declarações incluídas aqui – a saber, comment
, let
e new
—são declarações. Se as declarações também podem ser declarações é uma questão de debate, mas geralmente são tratadas como tal nos programas.
Instruções JavaScript e como usá-las
As seguintes instruções JavaScript são apresentadas com exemplos de código:
//
for
for…in
if…else
function
new
return
this
var
,let
,const
while
do…while
with
break
continue
switch
try
,catch
,finally
,throw
Comente (//)
O comentário (//
) informa ao JavaScript que você deseja incluir comentários explicativos em seu programa. O comentário termina no primeiro retorno forçado (quebra de linha) após a instrução. O JavaScript não impõe limites ao comprimento de um comentário, desde que não haja um retorno definitivo antes de terminar. JavaScript assume que qualquer texto após um retorno forçado é um código válido. Aqui está um exemplo de comentário no código:
// This is a simple comment
Embora o comentário passe para a segunda linha, a primeira linha termina com um “retorno suave” no programa de edição de texto. Nenhum caractere de retorno forçado é inserido.
Você pode colocar o //
caracteres em qualquer lugar de uma linha. JavaScript tratará todo o texto daquela linha seguindo o //
como um comentário:
MyVariable="This is a test" // assigns text variable MyVariable
Os comentários são ignorados quando um script é executado, portanto, não afetam muito a velocidade de execução. A maioria dos pipelines de construção removerá os comentários antes de enviar o código pela rede.
Ao escrever comentários longos, é melhor usar a sintaxe alternativa de comentários de /*
e */
. O texto entre esses caracteres é tratado como um comentário:
/* This section checks to see if the Enter key is pressed…
then continues on */
Alternativamente, você pode iniciar cada nova linha com um //
:
// This section checks to see if the Enter key is pressed…
// then continues on
Os comentários não são tecnicamente considerados declarações, mas a forma como os usamos é semelhante, por isso incluí a sintaxe aqui.
para
De todos os elementos da programação estruturada, for
é um campeão. Dá aos desenvolvedores a capacidade de executar ações repetidamente, com base em uma condição. Juntamente com if
, for
é um componente fundamental de todo software.
O for
instrução repete um bloco de instruções uma ou mais vezes. O número de iterações é controlado por valores fornecidos como argumentos. Aqui está a sintaxe de um for
declaração:
for (InitVal; Test; Increment)
InitVal
é o valor inicial dofor
laço. Geralmente é 0 ou 1, mas pode ser qualquer número.InitVal
é uma expressão que estabelece o valor inicial e o atribui a uma variável. Por exemplo,count=0
oui=1
.Test
é a expressão usada pelofor
instrução para controlar o número de vezes que o loop itera. Contanto que oTest
expressão é verdadeiro, o loop continua. Quando oTest
expressão for falsa, o loop termina. Como um exemplo,count<10
é verdadeiro desde que o valor na variável de contagem seja menor que 10.Increment
indica como você deseja que ofor
loop para contar – por unidades, dois, cinco, dezenas e assim por diante. Esta também é uma expressão e geralmente assume a forma decountVar++
onde ContarVar é o nome da variável atribuída pela primeira vez noInitVal
. Como um exemplo,count++
aumenta o valor docount
variável em um para cada iteração.
Ao contrário de todas as outras construções em JavaScript, o for
instrução usa ponto e vírgula em vez de vírgulas para separar seus argumentos. É a mesma sintaxe usada em C, C++ e Java.
Aqui está um exemplo de for
loop que conta de 1 a 10, avançando um dígito por vez. A cada iteração, o script insere algum texto e inicia uma nova linha. O JavaScript que você deseja repetir está entre colchetes ({ }
) seguindo o for
declaração; isso forma o for
bloco de instruções. Você pode fornecer uma linha ou várias entre os caracteres entre colchetes:
for (count=1; count<=10; count++) {
console.log("Iteration: "+count);
}
Lembre-se disso count
é o nome da variável usada para armazenar o for
contador de loops. O loop começa com 1 e prossegue até 10. A expressão de teste é count<=10
onde se lê:
Count is less than or equal to 10
Enquanto esta expressão for verdadeira, o for
o ciclo continua. Observe que o Increment
argumento também é uma expressão. Neste exemplo, Increment
usa o count
variável para incrementar o for
loop por 1 para cada iteração. No entanto, não existe nenhuma lei que obrigue você a aumentar em unidades. Aqui está um exemplo que conta por dezenas, de 10 a 100:
for (count=1; count<101; count+=10) {
document.write ("Iteration: "+count);
}
Com o for
loop no seu bolso, você tem uma ferramenta versátil e duradoura para uma vida inteira de viagens no mundo da programação.
para…em
O for…in
declaração é uma versão especial do for
declaração. Esta sintaxe é usada para exibir os nomes das propriedades e/ou conteúdos dos objetos. Isso é comum ao lidar com objetos de dados JSON.
Ao contrário do for
declaração, for…in
não usa testes de incremento ou outras expressões. Você fornece o nome de uma variável de retenção (o nome da variável depende de você) e o objeto que deseja usar. Aqui está a sintaxe básica:
for (iterator in object) {
statements
}
iterator
é o nome de uma variável.object
é o objeto que você deseja examinar.statements
são uma ou mais instruções JavaScript que você deseja executar para cada propriedade retornada pelofor…in
laço.
Aqui está um exemplo simples de uso for…in
:
const person = {
name: "Harsha Suryanarayana",
occupation: "Software Engineer"
};
for (let key in person) {
console.log(`${key}: ${person(key)}`);
}
Isso produz o name
e occupation
rótulos com seus valores.
se…mais
O if
declaração, juntamente com seu opcional else
, é usado para construir uma expressão “se condicional”. Diz: Se algo é verdade, então faça isso. O if
declaração é chamada de expressão condicional porque testa uma condição específica. As seguintes regras se aplicam ao usar if…else
declarações:
- Se a expressão for verdadeira, o script executa as instruções seguindo o
if
declaração. - Se a expressão for falsa, o script passa para as instruções que seguem o
else
declaração. - Se não há
else
declaração, o script salta além doif
declaração inteiramente e continua a partir daí.
Como for
, if
é um componente fundamental do software. Os desenvolvedores o utilizam para ramificar o fluxo de controle de uma forma clara e fácil de entender.
A sintaxe para if
é:
if (expression)
O resultado do if
expressão é sempre verdadeira ou falsa. A sintaxe a seguir, sem colchetes entre os blocos, é aceitável quando há apenas uma instrução após o if
e else
declarações:
if (test > 10)
console.log(‘more than 10’);
else
console.log(‘less than 10’);
Você poderia escrever isso de forma ainda mais compacta, como:
if (test > 10) console.log("more than 10"); else console.log("less than 10");
Caso mais de uma instrução siga o if
ou else
instrução, você deve usar colchetes (chaves) para definir um if
bloco de instruções. Com chaves colocadas, o JavaScript sabe executar todas as instruções dentro do bloco:
if (test > 10) {
count = 1;
console.log("more than 10");
} else {
count = 0;
console.log("less than 10");
}
Você também pode encadear muitos if-else-if
declarações juntas:
if (test > 10) {
console.log("more than 10");
} else if (test == 10) {
console.log("10");
} else {
console.log("less than 10");
função
As funções são outra parte fundamental da programação estruturada. O function
permite que você crie suas próprias funções definidas pelo usuário, bem como objetos e métodos definidos pelo usuário para elas. Funções são rotinas independentes que podem ser “chamadas” em outro lugar dentro do seu código JavaScript. Junto com loops e condicionais, as funções são um meio essencial de organização de software.
JavaScript possui um sistema de funções muito poderoso, onde funções podem ser referenciadas como qualquer outra variável. Isso é conhecido como “funções de primeira classe” e é uma grande fonte de poder e flexibilidade do JavaScript.
Aqui está um exemplo do uso básico de uma função:
function add(number1, number2){
return number1 + number2;
}
Você pode chamar esta função assim: add(10, 5)
.
De certa forma, as funções são como extensões personalizadas da linguagem JavaScript. Eles podem ser usados em qualquer lugar onde você usaria uma instrução, e seu valor de retorno é semelhante a uma variável: console.log(add(10,5))
irá gerar o número 15 para o console.
Outra sintaxe para definir funções é:
let multiply = function(number1, number2){
return number1 * number2;
}
Ambas as sintaxes são comuns e aceitáveis. Você também encontrará a instrução de função embutida em literais JSON:
let json = {
subtract: function (number1, number2){
return number1 - number2;
}
}
Poderíamos chamar esta função com o operador ponto: json.subtract(10,5)
.
novo
O new
instrução é usada principalmente para criar um novo objeto:
let myInstance = new MyObject(params);
myInstance
é o nome da nova instância do objeto. Os nomes aceitáveis são os mesmos das variáveis JavaScript. Você pode considerar o objeto criado como uma variável JavaScript. (Os objetos são, na verdade, tipos de dados personalizados.)- Tipos de objetos (como
MyObject
) são normalmente CamelCasecom a primeira letra maiúscula, enquanto instâncias de objetos (comomyInstance
) são normalmente cameloCasecom a primeira letra minúscula. params
são um ou mais parâmetros que você passa para a função do objeto, se necessário.
Existem várias maneiras de criar um tipo de objeto em JavaScript. Por exemplo, poderíamos usar o class
sintaxe e o new
instrução para criar uma instância:
class Person {
constructor(name) {
this.name = name;
}
}
let person = new Person("John");
retornar
O return
A instrução é usada para marcar o final de uma função, retornando opcionalmente um valor. Quando o JavaScript encontra esta instrução, ele “retorna” ao local onde a função foi chamada. O return
A instrução pode ser usada com e sem um valor de retorno.
- Se um valor for incluído, a função retornará esse valor.
- Se nenhum valor for incluído, a função retornará indefinido.
O return
instrução não pode ser usada fora de uma função. JavaScript relata um erro se você tentar usar return
fora de uma função. Aqui estão dois exemplos de return
com e sem valor:
function myFunc() { var outString = "This is a test"; return OutString; }
function myFunc() { outString = "This is a test"; return; }
No JavaScript moderno, você tem algumas opções interessantes para lidar com valores de retorno. Por exemplo, você pode retornar um objeto e usar a desestruturação para “explodi-lo” em valores discretos:
function getUserInfo(name) {
return { name, age: 25, city: "New York" };
}
const { name, age, city } = getUserInfo("Alice");
console.log(`${name} is ${age} years old and lives in ${city}`);
esse
O this
palavra-chave (não é tecnicamente uma declaração) refere-se ao objeto atual e é uma abreviação para usar o nome formal do objeto. Usando this
fornece uma referência ao “escopo” atual do código. Ou seja, ele fornece um controle sobre a configuração imediatamente maior onde as variáveis são mantidas. Há alguma nuance em como this
se comporta e resolve, especialmente com relação a fechamentos, mas em geral, se você lembrar que se refere ao objeto contêiner imediato, você ficará bem.
Como exemplo típico, considere o nosso subtract
função anterior.
let json = {
subtract: function (number1, number2){
console.log("this: " + this);
return number1 - number2;
}
}
Neste caso, o json
o próprio objeto resolverá a chamada para this
e então a saída do console será: this: (object Object)
.
var, deixe, const
O var
, let
e const
instruções são usadas para declarar uma referência de variável. É importante notar que var
é um estilo mais antigo e geralmente é obsoleto em favor de let
. Isto é porque var
“eleva” a variável para o topo do seu escopo, enquanto let
restringe-o ao bloco atual. O const
enquanto isso, cria uma variável que o intérprete não permitirá que seja modificada (ou seja, uma variável “imutável”).
Aqui está um exemplo:
let myVariable = “foo”;
const myOtherVariable = “bar”;
Agora o myOtherVariable
referência não pode ser alterada.
Embora const
impede que uma referência seja alterada, não impede que as partes internas de um objeto ou array sejam alteradas:
const myArray = {0,1,1,3,4};
myArray(2) = 2; // this is OK
enquanto
O while
A instrução configura um loop de repetição exclusivo que faz com que o script repita um determinado conjunto de instruções, semelhante a for
. O loop continua enquanto a expressão no while
afirmação é verdadeira. Quando o while
a instrução for falsa, o loop será interrompido e o script continuará. Qualquer código JavaScript dentro do while
bloco de instruções – definido por colchetes (também conhecido como colchetes) – é considerado parte do loop e é repetido. Aqui está a sintaxe do while
declaração:
while (Expression) {
// stuff to repeat
}