2.1 Variables et douleur

Commençons par le plus intéressant. JavaScript a des variables, mais ces variables n'ont pas de type. N'importe quelle variable peut recevoir absolument n'importe quelle valeur. Semble inoffensif ou même pratique jusqu'à ce que vous ayez besoin des types.

Le mot clé sert à déclarer une variable var:

var name;
var name = value;

Exemples de travail avec des variables en JavaScript :

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

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

Code génial et clair, n'est-ce pas? C'est peut-être la dernière fois de votre vie que vous voyez du code JavaScript beau et compréhensible. Souvenez-vous de ce moment :)

2.2 Taper en JavaScript

Comme mentionné ci-dessus, les variables du langage JavaScript n'ont pas de type. Mais les valeurs des variables ont des types. Voici les 5 types les plus courants en JavaScript :

# Taper Exemple Description
1 nombre
var pi = 3.14;
Contient n'importe quel nombre
2 Chaîne
var s = "Hello!";
Contient une chaîne
3 booléen
var result = true;
Contient vrai ou faux
4 déployer
var arr = [1, 2, 3, 4, 5];
Contient un tableau d'éléments
5 Date
var current = new Date();
Contient la date
6 Objet
var o = {
   width: 100,
   height: 200
}
Contient un objet composé de paires clé, valeur. Quelque chose de similaire à HashMap en Java
7 fonction
function sqr(var x) {
   return x*x;
}
Fonction

Le mot-clé typeof est utilisé pour déterminer le type d'un objet, par exemple :

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

2.3 Fonctions et retours

Et bien sûr, JavaScript a des fonctions. Il n'y a pas de classes, donc les fonctions peuvent être déclarées n'importe où dans le code. Même dans d'autres fonctions. Le format général est :

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

La fonction n'a pas de type. Pourquoi, s'il n'y a pas de contrôle de compatibilité de type dans le langage lui-même ? Des paramètres de fonction peuvent également être manquants. Il en va de même pour la commande return, qui renvoie une valeur.

Lors de l'appel d'une fonction, vous pouvez passer n'importe quel nombre de paramètres de n'importe quel type . L'excédent sera jeté, les manquants seront égaux null.

Exemples de fonctions :

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

2.4 Tableaux en JavaScript

Les tableaux en JavaScript sont très similaires aux tableaux en Java. Exemples:

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

Ils peuvent avoir des valeurs de n'importe quel type, même d'autres tableaux :

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

De plus, les tableaux se comportent également comme des collections - vous pouvez leur ajouter dynamiquement des éléments :

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

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

2.5 Objets en JavaScript

Les objets en JavaScript sont très similaires à HashMap en Java : ils contiennent des paires clé-valeur. Exemple:

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

console.log (obj.age);

Les champs d'objet sont accessibles de deux manières différentes :

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

Comme avec HashMap, les champs peuvent être créés et supprimés. Exemple:

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

delete obj.age;  //remove field