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 |
|
Contiene qualsiasi numero |
2 | Corda |
|
Contiene una stringa |
3 | Booleano |
|
Contiene vero o falso |
4 | vettore |
|
Contiene una matrice di elementi |
5 | Data |
|
Contiene la data |
6 | Oggetto |
|
Contiene un oggetto costituito da coppie chiave-valore. Qualcosa di simile a HashMap in Java |
7 | funzione |
|
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