Actions

Cours

Différences entre versions de « Technologies avancées du eLearning 2/transtypage automatique JS »

De GBLL, TAL, ALAO, etc.

< Cours:Technologies avancées du eLearning 2
Ligne 8 : Ligne 8 :
  
 
=== Exemples ===
 
=== Exemples ===
<SyntaxHighlight lang="JavaScript">
+
<syntaxhighlight lang="JavaScript">
 
   var unNombre = 1 ;
 
   var unNombre = 1 ;
 
console.log(unNombre + unNombre + unNombre) ;
 
console.log(unNombre + unNombre + unNombre) ;
Ligne 16 : Ligne 16 :
 
console.log(unNombre + unNombre + "1") ;
 
console.log(unNombre + unNombre + "1") ;
 
     // → "21" (String)
 
     // → "21" (String)
<SyntaxHighlight>
+
<syntaxhighlight>
 
<span id="correction" class="mw-customtoggle-correction1">Voir une correction</span>
 
<span id="correction" class="mw-customtoggle-correction1">Voir une correction</span>
 
<div  class="mw-collapsible mw-collapsed" id="mw-customcollapsible-correction1">
 
<div  class="mw-collapsible mw-collapsed" id="mw-customcollapsible-correction1">

Version du 15 novembre 2018 à 14:21

JavaScript est un langage où les variables sont typées, mais de manière implicite… Elles sont aussi converties d'un type à l'autre de manière implicite. Ceci permet d'être très efficace dans l'écriture du programme, mais cela demande d'être capable d'anticiper les opération de transtypage (conversion d'un type à l'autre) qui seront effectuées par le navigateur. Pour nous en rendre compte en cours nous avons effectué en cours différentes manipulations :

Number vers String

L'opérateur + n'a pas le même sens selon le type des opérandes :

  • Avec un Number, c'est l'addition ;
  • Avec un String, c'est la concaténation.

Le + s'exécute de gauche à droite (sauf parenthèse), si l'une de ses opérandes est une String, il s'agira d'une concaténation.

Exemples

<syntaxhighlight lang="JavaScript">

  var unNombre = 1 ;

console.log(unNombre + unNombre + unNombre) ;

   // → 3 (Number)

console.log("1" + unNombre + unNombre) ;

   // → "111" (String)

console.log(unNombre + unNombre + "1") ;

   // → "21" (String)

<syntaxhighlight> Voir une correction