2.1 Variabili e dolore

Cominciamo con il più interessante. JavaScript ha variabili, ma quelle variabili non hanno un tipo. A qualsiasi variabile può essere assegnato assolutamente qualsiasi valore. Sembra innocuo o addirittura utile finché non hai bisogno dei tipi.

La parola chiave viene utilizzata per dichiarare una variabile var:

var name;
var name = value;

Esempi di utilizzo delle variabili in JavaScript:

var a = 10, b = 20;
var c = a*a + b*b;

var s = "Diagonal equals:";
console.log( s + Math.sqrt(c));

Codice grande e chiaro, non è vero? Forse questa è l'ultima volta nella tua vita in cui vedi un codice JavaScript bello e comprensibile. Ricorda questo momento :)

2.2 Digitazione in JavaScript

Come accennato in precedenza, le variabili nel linguaggio JavaScript non hanno un tipo. Ma i valori delle variabili hanno tipi. Ecco i 5 tipi più comuni in JavaScript:

# Tipo Esempio Descrizione
1 numero
var pi = 3.14;
Contiene qualsiasi numero
2 Corda
var s = "Hello!";
Contiene una stringa
3 Booleano
var result = true;
Contiene vero o falso
4 vettore
var arr = [1, 2, 3, 4, 5];
Contiene una matrice di elementi
5 Data
var current = new Date();
Contiene la data
6 Oggetto
var o = {
   width: 100,
   height: 200
}
Contiene un oggetto costituito da coppie chiave-valore. Qualcosa di simile a HashMap in Java
7 funzione
function sqr(var x) {
   return x*x;
}
Funzione

La parola chiave typeof viene utilizzata per determinare il tipo di un oggetto, ad esempio:

var s = "134";
var x = (typeof s == "String") ? s*1 : s;

2.3 Funzioni e ritorni

E ovviamente JavaScript ha funzioni. Non ci sono classi, quindi le funzioni possono essere dichiarate ovunque nel codice. Anche in altre funzioni. Il formato generale è:

function name(a, b, c) {
  // function code
   return result;
}

La funzione non ha tipo. Perché, se non esiste un controllo di compatibilità del tipo nella lingua stessa? Potrebbero anche mancare i parametri della funzione. Così è il comando return, che restituisce un valore.

Quando si chiama una funzione, è possibile passare qualsiasi numero di parametri di qualsiasi tipo . L'eccedenza verrà scartata, quelle mancanti saranno pari null.

Esempi di funzioni:

function getValue(name)
{
    return this[name];
}
function setValue(name, value)
{
    this[name] = value;
}

2.4 Array in JavaScript

Gli array in JavaScript sono molto simili agli array in Java. Esempi:

var array = [1, 2, 3, 4, 5];
array[3] = array[2];
console.log (array[0]);

Possono avere valori di qualsiasi tipo, anche altri array:

var array = [1, "Hello", 3.14, [4, 5] ];
array[3] = array[2];
console.log (array[0]);

Inoltre, gli array si comportano anche come raccolte: puoi aggiungere dinamicamente elementi ad essi:

var array = [];
array.push(100);
array.push(101);
array.push(102);

array[1] = array[2];
console.log (array[0]);

2.5 Oggetti in JavaScript

Gli oggetti in JavaScript sono molto simili a HashMap in Java: contengono coppie chiave-valore. Esempio:

var obj = {
 name: "Bill Gates",
 age: 67,
 company: "Microsoft"
};

console.log (obj.age);

È possibile accedere ai campi oggetto in due modi diversi:

var x = obj.age;
var x = obj["age"];

Come con HashMap, i campi possono essere creati ed eliminati. Esempio:

var obj = {};
obj.name = "Bill Gates";
obj.age = 67;
obj.company = "Microsoft";

delete obj.age;  //remove field