Outils pour utilisateurs

Outils du site


dev:javascript:core:fondamentaux

Ceci est une ancienne révision du document !


:TODO_DOCUPDATE:

Javascript : Fondamentaux

Javascript a été conçu pour rendre les pages web dynamiques. Il s'intègre et permet d'interagir avec les documents HTML et le CSS.

Un script peut être introduit dans n'importe quelle partie du document HTML. Le code Javascript peut être écrit directement dans le document HTML entre les balises <script></script> ou bien être présent dans un fichier externe (dans ce cas l'attribut src de la balise <script> est définit ).

Un fichier séparé pour les scripts permet au navigateur de le charger en cache et facilite

Les types

Il existe 8 types de base en Javascript ( 6 types primitifs, Object et Symbol) . Le langage est typé dynamiquement : à l'exécution les variables accueillent n'importe quel type :

"use strict"
// On déclare une variable c et on affecte un entier
let a = 10
 
// on affecte ici une chaine de caractère à la variable "a", c'est syntaxiquement correct
a = "Hello JS"

Les types primitifs :

  • Number : inclus les entiers, les flottants, Infinity, -Infinity et NaN ;
  • BigInt (pour les valeurs au delà de ±(2 53-1) ;
  • String pour les chaines de caractères
  • Boolean
  • null : définit un type à part. Ce n'est pas une référence à un objet non existant ou un pointeur nul. C'est une valeur spéciale qui signifie inconnu, rien ou vide.
  • undefined est un type à part également : il signifie pas de valeur attribuée

Le type Object permet de définir des collections ou des entités complexes et le Le type Symbol est utilisé pour créer des identificateurs uniques pour les objets (singleton).

L'opérateur typeof permet de déterminer le type d'une valeur littérale ou d'une variable :

 
L'instruction typeof null ; retourne “object” : c’est une erreur bien connue du langage conservée pour rétrocompatibilité. null est un type à part, il n’est pas de type “object”. Le comportement l'opérateur typeof dans ce cas peut induire en erreur.

Les commentaires

/**
 * Renvoie x élevé à la n-ième puissance.
 *
 * @param {number} x Le nombre à augmenter.
 * @param {number} n L'exposant doit être un nombre naturel.
 * @return {number} x élevé à la n-ème puissance.
 */
function pow(x, n) {
  ...
}

Ainsi formatés, les commentaires peuvent être extraits et mis en forme par des outils tels que JSDoc 3.

Produire du code auto-descriptif :

  • En nommant correctement les variables ;
  • En factorisant et nommant correctement les fonctions ;

Si un bloc de code a besoin d'être commenté, peut être mérite t il d'être réécrit ou factorisé sous forme d'une fonction. De fait, il existe des algorithmes complexes, et il existe des “paramétrages” intelligents à des fins d’optimisation. Mais généralement, nous devrions essayer de garder le code simple et auto-descriptif.

A Commenter :

  • Architecture globale, vue de haut niveau ;
  • Utilisation de la fonction ;
  • Les solutions importantes, surtout lorsqu’elles ne sont pas immédiatement évidentes.

Commentaires à éviter :

  • Qui disent “comment fonctionne le code” et “ce qu’il fait” ;
  • Ne les mettez que s’il est impossible de rendre le code aussi simple et auto-descriptif qu’il n’en nécessite pas.

Tests

Frameworks de tests :

  • Moka peut être utilisé sur Node.js ou directement dans le navigateur ;
  • La bibliothèque Chai fournit de nombreuses assertions ;
  • Le framework Sinon.js ;

Références

dev/javascript/core/fondamentaux.1728647318.txt.gz · Dernière modification : 2024/10/11 11:48 de yoann