mardi 29 mai 2012

[javascript/C]Différences entre C et JavaScript.


JavaScript et C: Héritage et différences

La syntaxe du langage est globalement celle de C et en diffère quand on a voulu créer du code plus dynamique. Elle fait des emprunts aussi aux langages à Awk et Perl.
Il y a des différences notables entre les deux langages.
En JavaScript:
  1. Les identifieurs sont sensibles à la casse.
  2. Les mots-clés doivent être en minuscules.
  3. Le point-virgule est optionnel.
  4. Les fonctions peuvent être des objets.
  5. Une fonction peut contenir d'autres fonctions (elle servent de méthodes).
  6. Les variables ont des types dynamiques.
  7. Les tableaux sont dynamiques et associatifs (ceci ressemble à PHP mais vient de AWK).
  8. Les expressions régulières font partie du langage ce qui vient de Perl.
  9. On crée des prototypes pour gérer l'héritage d'objets.
  10. with est ajouté à JavaScript.
  11. JavaScript utilise un garbage collector.
Les différences sont faites pour rendre le langage plus dynamique et faciliter la création de scripts.

Les points importants de la syntaxe JavaScript

Instructions et séparateurs, le cas du point virgule

Les instructions ne sont pas limitées par la fin de ligne (sauf le commentaire simple) et ont pour unique séparateur le point-virgule. Cependant quand une instruction est considérée comme complète et que l'interpréteur rencontre un espace, une fin de ligne, une tabulation, il insère virtuellement un point-virgule. Il vaut mieux toutefois ne pas compter là-dessus pour ne pas rendre le code illisible.
Héritage du langage C dans JavaScript
La virgule est un séparateur interne aux instructions, par exemple dans l'en-tête d'une fonction elle sépare les arguments.
Les parenthèses () regroupent des listes ou isolent une expression.
Les crochets [] servent à indicer un tableau.

La syntaxe des commentaires et blocs d'instructions est celle de C

Un commentaire simple débute par une double barre inclinée // et se poursuit jusqu'en fin de ligne.
Un commentaire fermé commence par le couple de symboles /* et se termine par */ sans que les fins de lignes n'aient de rôle à jouer autre que la mise en forme.
Il peut comporter une seule ligne ou plusieurs.
... code ...    /* commentaire */ 
Un ensemble d'instructions est isolé par les opérateurs "{" pour le début du bloc et "}" pour la fin. Cet ensemble est généralement associé à une commande comme if(condition), ou par une instruction de boucle.
Il peut être utilisé tout simplement, sans grande utilité, mais sans que ce soit une erreur de syntaxe.
Un bloc d'instructions est considéré comme une instruction, ainsi:
if(x == 5) document.write("ok");
est équivalent à:
if(x == 5) 
{  
    document.write("ok");
}
Avec la différence que dans le second cas on peut regrouper un ensemble d'instructions.

La clause with a été ajoutée à JavaScript

C'est un exemple de différence de syntaxe avec le langage C.
Son rôle est de définir un sous ensemble dans lequel on utilise les méthodes et attributs d'un objet sans mentionner cet objet.
Exemple:
var x = new String("--> hello");
with(x)
{
    document.write(toUpperCase());
}
--> HELLO
Dans cet exemple, la méthode toUpperCase() de l'objet String est appliquée implicitement à l'instance x désignée par with.
Un exemple plus utile serait de placer document en with, on peut alors faire un code plus simple en utilisant write ou d'autres méthodes comme getElementById en série.
with(document)
{
    write("--> hello");
}
--> hello
Le code des démonstrations décrit en encarts est imbriqué dans la page et affiche donc le mot hello.
La syntaxe spécifique à chaque instruction du langage est décrite dans les chapitres qui leur sont dédiés.

Share:

0 commentaires:

Enregistrer un commentaire

Contributeurs

Membres

free counters