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
(Page créée avec « 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... ») |
|||
Ligne 8 : | Ligne 8 : | ||
=== Exemples === | === Exemples === | ||
− | < | + | <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> |
<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:20
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