"Olá, amigo!"

"Oi, Bilaabo!"

"Estou feliz em vê-lo. Hoje temos uma aula pequena, mas muito informativa. Hoje vou falar sobre a linguagem JavaScript."

Javascript - 1

"Um novo idioma? Que interessante..."

"Atualmente, o JavaScript é popular graças à Internet. O fato é que é a única linguagem que todos os navegadores podem executar. Se você deseja adicionar animação ou lógica à sua página da Web, pode fazê-lo com JavaScript."

"É verdade que JavaScript é a linguagem mais popular?"

"Sim, mas seria mais correto dizer que é a 'segunda linguagem' mais popular. Os programadores de C++, Java, C# e PHP precisam escrever pequenos scripts em JavaScript para animar suas páginas da Web. Mas, muito menos pessoas apenas escrever código em JavaScript."

"Por que se chama JavaScript? Soa quase como Java."

"Na verdade, inicialmente era chamado de LiveScript, mas quando o Java começou a se popularizar, ele foi renomeado para JavaScript."

"Java e JavaScript são duas linguagens completamente diferentes. Não as confunda."

"Ao contrário de Java, JavaScript não tem classes e não oferece suporte a digitação estática, multithreading e muito mais. Java é como um grande conjunto de ferramentas de construção, enquanto JavaScript é mais como um canivete suíço. JavaScript é projetado para resolver tarefas pequenas, mas Java é para resolver tarefas grandes e muito grandes."

"Aqui estão alguns fatos sobre JavaScript:"

"O primeiro fato é que o JavaScript tem funções, mas não tem classes"

"Você simplesmente escreve programas usando várias funções e pronto. Por exemplo:"

JavaScript
function min(a, b)
{
 return a
}
Java
public static int min(int a, int b)
{
return a
}

"Novas funções são declaradas usando «função <nome>».

"Outro exemplo:"

JavaScript
function min(ab)
{
 return a < b ? ab;
}

function main()
{
 var s = 3;
 var t = 5;
 var min = min(s, t);
}
Java
public static int min(int a, int b)
{
 return a < b ? ab;
}

public static void main()
{
 int s = 3;
 int t = 5;
 int min = min(s,t);
}

"O segundo fato é que o JavaScript possui variáveis, mas essas variáveis ​​não possuem tipos"

"JavaScript é uma linguagem de tipagem dinâmica. Isso significa que as variáveis ​​realmente não têm tipos. Qualquer variável pode receber um valor de qualquer tipo (valores têm tipos). Por exemplo:"

JavaScript
function main()
{
 var s = "Bender";
 var k = 1;
 var n = s.length;
}
Java
public static void main()
{
 String s ="Bender";
 int k = 1;
 int n = s.length();
}

"Mas a digitação dinâmica aumenta o risco de erros de tempo de execução:"

JavaScript
function main()
{
 var s = "Bender";
 var k = 1;
 var n = k.length;
}
Java
public static void main()
{
 String s ="Bender";
 int k = 1;
 int n = k.length();
}

"No exemplo acima, usamos a variável k (um inteiro) em vez de s (uma String). Em Java, o erro seria detectado no momento da compilação, mas em JavaScript, ele não será detectado até mais tarde, quando o código está correndo."

"Se você deseja declarar uma variável em JavaScript, precisa escrever «var <nome>». Não há tipos de variáveis ​​e não há tipos para métodos/funções ou seus argumentos."

"JavaScript tem poucas regras estritas e muita anarquia."

"Você pode declarar uma função com 5 argumentos e chamá-la com dois - o restante será apenas nulo. Você pode declarar uma função com dois argumentos e passar cinco ao chamá-la. Três simplesmente serão jogados fora. Há um controle mínimo sobre erros, erros de digitação e alterações."

"O terceiro fato é que o JavaScript tem instruções if, for e while"

"JavaScript tem if, for e while. Esta é uma ótima notícia. Veja estes exemplos:"

JavaScript
function main()
{
 var s = "Bender";

 var result = "";

 for(var i = 0; i < s.length; i++)
 {
  result += s[i] + "";
 }
 if(result.length > 10)
 {
  alert (result);
 }
 else
 {
  while(result.length <= 10)
  {
   result += " ";
  }
  alert(result);
 }
}
Java
public static void main()
{
 String s = "Bender";
 char[] s2 = s.toCharArray();
 String result = "";

 for(int i = 0; i < s.length(); i++)
 {
  result += s2[i] + "";
 }
 if(result.length() > 10)
 {
  System.out.println(result);
 }
 else
 {
  while (result.length() <= 10)
  {
   result += " ";
  }
  System.out.println(result);
 }
}

"Eles são bem parecidos. Acho que consegui descobrir como o código escrito em JavaScript funciona."

"Seu otimismo é bom."

"O quarto fato é que o JavaScript suporta blocos try-catch-finally"

" JavaScript tem exceções ( Error ) e isso é bom. Ele não tem exceções verificadas , apenas exceções não verificadas semelhantes a RuntimeException . A construção try-catch-finally funciona da mesma forma que em Java. Por exemplo:"

JavaScript
function main()
{
 try
 {
  var s = null;
  var n = s.length;
 }
 catch(e)
 {
  alert(e);
 }
}
Java
public static void main()
{
 try
 {
  String s = null;
  int n = s.length();
 }
 catch(Exception e)
 {
  System.out.println(e);
 }
}

"Quando tentamos obter o comprimento da String, uma exceção será lançada, pois a variável é nula."

"O quinto fato é que JavaScript tem arrays"

"Boas notícias: JavaScript tem arrays. Más notícias: não há listas ou coleções."

"Outra boa notícia é que os arrays podem se expandir dinamicamente quando novos elementos são adicionados e diminuir quando os elementos são removidos. É mais como um híbrido entre um array e uma lista. "

Por exemplo:

JavaScript
function main()
{
 var m = [1, 3, 18, 45, 'c', "roma", null];
 alert(m.length); // 7

 m.push("end");
 alert(m.length); // 8

 for (var i = 0; i < m.length; i++)
 {
  alert(m[i]);
 }
}
Java
public static void main()
{
 List m = Arrays.asList(1, 3, 18, 45,'c', "roma", null);
 System.out.println(m.size()); // 7

 m.add("end");
 System.out.println(m.size()); // 8

 for (int i = 0; i < m.size(); i++)
 {
  System.out.println(m.get(i));
 }
}

"O que são esses colchetes na declaração do array?"

"Isso é exatamente o que é uma declaração de array. Para declarar um array, você precisa escrever colchetes. Então você lista os elementos do array entre os colchetes. Você declara um array vazio simplesmente com um par de colchetes."

Exemplo
var m = [];

"O sexto fato é que JavaScript tem objetos"

"JavaScript tem objetos. Na verdade, tudo em JavaScript é um objeto, até mesmo tipos primitivos. Cada objeto é representado como um conjunto de pares chave-valor. Grosso modo, todo objeto JavaScript é equivalente a um HashMap em Java. Aqui está um exemplo de uma declaração de objeto:"

JavaScript
function main()
{
 var m = {
  first_name : "Bill",
  last_name: "Gates",
  age: 54,
  weight: 67,
 children: ["Emma", "Catrin"],
 wife: {
  first_name : "Melinda",
  last_name: "Gates",
  age: 45,
  }
};

 alert(m.first_name); // Bill
 alert(m.age); // 54
 alert(m.wife.first_name); // Melinda

 m.age = 45;
 m.age++;
 m["first_name"] = "Stive";
 m["wife"] = null;
Java
public static void main()
{
 HashMap m = new HashMap();
 m.put("first_name", "Bill");
 m.put("last_name", "Gates");
 m.put("age", 54);
 m.put("weight", 67);

 String[] children = {"Emma", "Catrin"};
 m.put("children", children);

 HashMap wife = new HashMap();
 wife.put("first_name", "Melinda");
 wife.put("last_name", "Gates");
 wife.put("age", 45);
 m.put("wife", wife);

 System.out.println(m.get("first_name"));
 System.out.println(m.get("age"));

 HashMap w = ((HashMap)m.get("wife"));
 System.out.println(w.get("first_name")));

 m.put("age", 45);
 m.put("age", ((Integer)m.get("age")) + 1);
 m.put("first_name", "Stive");
 m.put("wife", null);

"Para criar um novo objeto, basta escrever duas chaves: «{}»."

"Dentro das chaves, você pode especificar os dados do objeto no seguinte formato: «chave, dois pontos, valor, vírgula»."

"Os campos de objeto podem ser acessados ​​de duas maneiras:"

Declarações equivalentes
m.age = 45;
m[“age”] = 45;

"Se o campo especificado não existir, ele será criado."

"Minha válvula de alívio está sobrecarregada ou algo assim. Acho que devemos fazer uma pausa."

"O sétimo fato é que o JavaScript foi criado para funcionar dentro de páginas da web."