[{"data":1,"prerenderedAt":1024},["ShallowReactive",2],{"page-\u002Fjs\u002Ffonctions":3,"pieces-js":981,"autour-\u002Fjs\u002Ffonctions":1006,"prerequis-\u002Fjs\u002Ffonctions":1011,"plan-js":1013},{"id":4,"title":5,"body":6,"description":954,"extension":955,"ligne":45,"meta":956,"motsCles":957,"navigation":97,"niveau":959,"path":960,"prerequis":961,"ressources":963,"seo":975,"sources":976,"stem":979,"__hash__":980},"docs\u002Fjs\u002F03.fonctions.md","Les fonctions",{"type":7,"value":8,"toc":942},"minimark",[9,14,27,31,40,115,122,126,137,215,228,243,247,250,321,325,332,414,418,429,469,475,539,542,592,596,602,719,722,726,738,799,802,861,864,870,874,886,889,893,938],[10,11,13],"h2",{"id":12},"ce-que-tu-vas-apprendre","Ce que tu vas apprendre",[15,16,17,21,24],"ul",{},[18,19,20],"li",{},"Déclarer une fonction, l'appeler et récupérer son résultat.",[18,22,23],{},"Écrire des fonctions fléchées et utiliser des valeurs par défaut.",[18,25,26],{},"Comprendre où une variable est visible.",[10,28,30],{"id":29},"une-fonction-cest-quoi","Une fonction, c'est quoi",[32,33,34,35,39],"p",{},"Une ",[36,37,38],"strong",{},"fonction"," est un bloc de code nommé que tu peux réutiliser. Tu l'écris une fois, tu l'appelles autant de fois que nécessaire.",[41,42,47],"pre",{"className":43,"code":44,"language":45,"meta":46,"style":46},"language-js shiki shiki-themes github-light-default github-dark-default github-dark-default","function direBonjour() {\n  console.log('Bienvenue sur mon site de recettes')\n}\n\ndireBonjour()\ndireBonjour()\n","js","",[48,49,50,67,86,92,99,108],"code",{"__ignoreMap":46},[51,52,55,59,63],"span",{"class":53,"line":54},"line",1,[51,56,58],{"class":57},"sOnC1","function",[51,60,62],{"class":61},"syCW7"," direBonjour",[51,64,66],{"class":65},"scfrF","() {\n",[51,68,70,73,76,79,83],{"class":53,"line":69},2,[51,71,72],{"class":65},"  console.",[51,74,75],{"class":61},"log",[51,77,78],{"class":65},"(",[51,80,82],{"class":81},"shWOn","'Bienvenue sur mon site de recettes'",[51,84,85],{"class":65},")\n",[51,87,89],{"class":53,"line":88},3,[51,90,91],{"class":65},"}\n",[51,93,95],{"class":53,"line":94},4,[51,96,98],{"emptyLinePlaceholder":97},true,"\n",[51,100,102,105],{"class":53,"line":101},5,[51,103,104],{"class":61},"direBonjour",[51,106,107],{"class":65},"()\n",[51,109,111,113],{"class":53,"line":110},6,[51,112,104],{"class":61},[51,114,107],{"class":65},[32,116,117,118,121],{},"Les parenthèses après le nom ",[36,119,120],{},"appellent"," la fonction. Sans elles, tu désignes la fonction sans l'exécuter.",[10,123,125],{"id":124},"paramètres-et-retour","Paramètres et retour",[32,127,128,129,132,133,136],{},"Un ",[36,130,131],{},"paramètre"," est une valeur que la fonction reçoit. Le mot-clé ",[48,134,135],{},"return"," renvoie un résultat à l'endroit de l'appel.",[41,138,140],{"className":43,"code":139,"language":45,"meta":46,"style":46},"function doubler(quantite) {\n  return quantite * 2\n}\n\nconst farine = doubler(150)\nconsole.log(farine)  \u002F\u002F 300\n",[48,141,142,158,173,177,181,201],{"__ignoreMap":46},[51,143,144,146,149,151,155],{"class":53,"line":54},[51,145,58],{"class":57},[51,147,148],{"class":61}," doubler",[51,150,78],{"class":65},[51,152,154],{"class":153},"sIXEE","quantite",[51,156,157],{"class":65},") {\n",[51,159,160,163,166,169],{"class":53,"line":69},[51,161,162],{"class":57},"  return",[51,164,165],{"class":65}," quantite ",[51,167,168],{"class":57},"*",[51,170,172],{"class":171},"s5iOY"," 2\n",[51,174,175],{"class":53,"line":88},[51,176,91],{"class":65},[51,178,179],{"class":53,"line":94},[51,180,98],{"emptyLinePlaceholder":97},[51,182,183,186,189,192,194,196,199],{"class":53,"line":101},[51,184,185],{"class":57},"const",[51,187,188],{"class":171}," farine",[51,190,191],{"class":57}," =",[51,193,148],{"class":61},[51,195,78],{"class":65},[51,197,198],{"class":171},"150",[51,200,85],{"class":65},[51,202,203,206,208,211],{"class":53,"line":110},[51,204,205],{"class":65},"console.",[51,207,75],{"class":61},[51,209,210],{"class":65},"(farine)  ",[51,212,214],{"class":213},"sd6ml","\u002F\u002F 300\n",[32,216,217,218,221,222,224,225,227],{},"Les valeurs que tu passes à l'appel s'appellent des ",[36,219,220],{},"arguments",". Ici, ",[48,223,198],{}," est l'argument et ",[48,226,154],{}," est le paramètre.",[229,230,231],"note",{},[32,232,233,235,236,238,239,242],{},[48,234,135],{}," termine la fonction : le code écrit après n'est pas exécuté. Une fonction sans ",[48,237,135],{}," renvoie ",[48,240,241],{},"undefined",".",[10,244,246],{"id":245},"plusieurs-paramètres","Plusieurs paramètres",[32,248,249],{},"Sépare-les par des virgules. L'ordre compte.",[41,251,253],{"className":43,"code":252,"language":45,"meta":46,"style":46},"function prixTotal(prixUnitaire, quantite) {\n  return prixUnitaire * quantite\n}\n\nconsole.log(prixTotal(2.5, 4))  \u002F\u002F 10\n",[48,254,255,274,286,290,294],{"__ignoreMap":46},[51,256,257,259,262,264,267,270,272],{"class":53,"line":54},[51,258,58],{"class":57},[51,260,261],{"class":61}," prixTotal",[51,263,78],{"class":65},[51,265,266],{"class":153},"prixUnitaire",[51,268,269],{"class":65},", ",[51,271,154],{"class":153},[51,273,157],{"class":65},[51,275,276,278,281,283],{"class":53,"line":69},[51,277,162],{"class":57},[51,279,280],{"class":65}," prixUnitaire ",[51,282,168],{"class":57},[51,284,285],{"class":65}," quantite\n",[51,287,288],{"class":53,"line":88},[51,289,91],{"class":65},[51,291,292],{"class":53,"line":94},[51,293,98],{"emptyLinePlaceholder":97},[51,295,296,298,300,302,305,307,310,312,315,318],{"class":53,"line":101},[51,297,205],{"class":65},[51,299,75],{"class":61},[51,301,78],{"class":65},[51,303,304],{"class":61},"prixTotal",[51,306,78],{"class":65},[51,308,309],{"class":171},"2.5",[51,311,269],{"class":65},[51,313,314],{"class":171},"4",[51,316,317],{"class":65},"))  ",[51,319,320],{"class":213},"\u002F\u002F 10\n",[10,322,324],{"id":323},"valeurs-par-défaut","Valeurs par défaut",[32,326,327,328,331],{},"Un paramètre peut avoir une ",[36,329,330],{},"valeur par défaut",", utilisée quand l'argument est absent.",[41,333,335],{"className":43,"code":334,"language":45,"meta":46,"style":46},"function saluer(nom = 'cuisinier') {\n  return `Bonjour ${nom}`\n}\n\nconsole.log(saluer())          \u002F\u002F \"Bonjour cuisinier\"\nconsole.log(saluer('Camille')) \u002F\u002F \"Bonjour Camille\"\n",[48,336,337,356,368,372,376,393],{"__ignoreMap":46},[51,338,339,341,344,346,349,351,354],{"class":53,"line":54},[51,340,58],{"class":57},[51,342,343],{"class":61}," saluer",[51,345,78],{"class":65},[51,347,348],{"class":153},"nom",[51,350,191],{"class":57},[51,352,353],{"class":81}," 'cuisinier'",[51,355,157],{"class":65},[51,357,358,360,363,365],{"class":53,"line":69},[51,359,162],{"class":57},[51,361,362],{"class":81}," `Bonjour ${",[51,364,348],{"class":65},[51,366,367],{"class":81},"}`\n",[51,369,370],{"class":53,"line":88},[51,371,91],{"class":65},[51,373,374],{"class":53,"line":94},[51,375,98],{"emptyLinePlaceholder":97},[51,377,378,380,382,384,387,390],{"class":53,"line":101},[51,379,205],{"class":65},[51,381,75],{"class":61},[51,383,78],{"class":65},[51,385,386],{"class":61},"saluer",[51,388,389],{"class":65},"())          ",[51,391,392],{"class":213},"\u002F\u002F \"Bonjour cuisinier\"\n",[51,394,395,397,399,401,403,405,408,411],{"class":53,"line":110},[51,396,205],{"class":65},[51,398,75],{"class":61},[51,400,78],{"class":65},[51,402,386],{"class":61},[51,404,78],{"class":65},[51,406,407],{"class":81},"'Camille'",[51,409,410],{"class":65},")) ",[51,412,413],{"class":213},"\u002F\u002F \"Bonjour Camille\"\n",[10,415,417],{"id":416},"les-fonctions-fléchées","Les fonctions fléchées",[32,419,420,421,424,425,428],{},"La ",[36,422,423],{},"fonction fléchée"," est une écriture plus courte, avec ",[48,426,427],{},"=>",". On la stocke en général dans une variable.",[41,430,432],{"className":43,"code":431,"language":45,"meta":46,"style":46},"const doubler = (quantite) => {\n  return quantite * 2\n}\n",[48,433,434,455,465],{"__ignoreMap":46},[51,435,436,438,440,442,445,447,450,452],{"class":53,"line":54},[51,437,185],{"class":57},[51,439,148],{"class":61},[51,441,191],{"class":57},[51,443,444],{"class":65}," (",[51,446,154],{"class":153},[51,448,449],{"class":65},") ",[51,451,427],{"class":57},[51,453,454],{"class":65}," {\n",[51,456,457,459,461,463],{"class":53,"line":69},[51,458,162],{"class":57},[51,460,165],{"class":65},[51,462,168],{"class":57},[51,464,172],{"class":171},[51,466,467],{"class":53,"line":88},[51,468,91],{"class":65},[32,470,471,472,474],{},"Quand le corps tient en une expression, tu peux retirer les accolades et le ",[48,473,135],{},". Le résultat est renvoyé automatiquement.",[41,476,478],{"className":43,"code":477,"language":45,"meta":46,"style":46},"const doubler = (quantite) => quantite * 2\nconst saluer = nom => `Bonjour ${nom}`\nconst nomDuSite = () => 'Mes recettes'\n",[48,479,480,502,522],{"__ignoreMap":46},[51,481,482,484,486,488,490,492,494,496,498,500],{"class":53,"line":54},[51,483,185],{"class":57},[51,485,148],{"class":61},[51,487,191],{"class":57},[51,489,444],{"class":65},[51,491,154],{"class":153},[51,493,449],{"class":65},[51,495,427],{"class":57},[51,497,165],{"class":65},[51,499,168],{"class":57},[51,501,172],{"class":171},[51,503,504,506,508,510,513,516,518,520],{"class":53,"line":69},[51,505,185],{"class":57},[51,507,343],{"class":61},[51,509,191],{"class":57},[51,511,512],{"class":153}," nom",[51,514,515],{"class":57}," =>",[51,517,362],{"class":81},[51,519,348],{"class":65},[51,521,367],{"class":81},[51,523,524,526,529,531,534,536],{"class":53,"line":88},[51,525,185],{"class":57},[51,527,528],{"class":61}," nomDuSite",[51,530,191],{"class":57},[51,532,533],{"class":65}," () ",[51,535,427],{"class":57},[51,537,538],{"class":81}," 'Mes recettes'\n",[32,540,541],{},"Avec un seul paramètre, les parenthèses sont facultatives. Sans paramètre, elles restent obligatoires.",[543,544,545,558],"table",{},[546,547,548],"thead",{},[549,550,551,555],"tr",{},[552,553,554],"th",{},"Écriture",[552,556,557],{},"Exemple",[559,560,561,572,582],"tbody",{},[549,562,563,567],{},[564,565,566],"td",{},"Déclaration",[564,568,569],{},[48,570,571],{},"function doubler(x) { return x * 2 }",[549,573,574,577],{},[564,575,576],{},"Fléchée complète",[564,578,579],{},[48,580,581],{},"const doubler = (x) => { return x * 2 }",[549,583,584,587],{},[564,585,586],{},"Fléchée courte",[564,588,589],{},[48,590,591],{},"const doubler = x => x * 2",[10,593,595],{"id":594},"une-fonction-est-une-valeur","Une fonction est une valeur",[32,597,598,599,242],{},"En JavaScript, on peut passer une fonction en argument à une autre fonction. La fonction reçue s'appelle un ",[36,600,601],{},"callback",[41,603,605],{"className":43,"code":604,"language":45,"meta":46,"style":46},"function repeter(fois, action) {\n  for (let i = 1; i \u003C= fois; i++) {\n    action(i)\n  }\n}\n\nrepeter(3, (numero) => console.log(`Tour ${numero}`))\n",[48,606,607,626,659,667,672,676,680],{"__ignoreMap":46},[51,608,609,611,614,616,619,621,624],{"class":53,"line":54},[51,610,58],{"class":57},[51,612,613],{"class":61}," repeter",[51,615,78],{"class":65},[51,617,618],{"class":153},"fois",[51,620,269],{"class":65},[51,622,623],{"class":153},"action",[51,625,157],{"class":65},[51,627,628,631,633,636,639,642,645,648,651,654,657],{"class":53,"line":69},[51,629,630],{"class":57},"  for",[51,632,444],{"class":65},[51,634,635],{"class":57},"let",[51,637,638],{"class":65}," i ",[51,640,641],{"class":57},"=",[51,643,644],{"class":171}," 1",[51,646,647],{"class":65},"; i ",[51,649,650],{"class":57},"\u003C=",[51,652,653],{"class":65}," fois; i",[51,655,656],{"class":57},"++",[51,658,157],{"class":65},[51,660,661,664],{"class":53,"line":88},[51,662,663],{"class":61},"    action",[51,665,666],{"class":65},"(i)\n",[51,668,669],{"class":53,"line":94},[51,670,671],{"class":65},"  }\n",[51,673,674],{"class":53,"line":101},[51,675,91],{"class":65},[51,677,678],{"class":53,"line":110},[51,679,98],{"emptyLinePlaceholder":97},[51,681,683,686,688,691,694,697,699,701,704,706,708,711,713,716],{"class":53,"line":682},7,[51,684,685],{"class":61},"repeter",[51,687,78],{"class":65},[51,689,690],{"class":171},"3",[51,692,693],{"class":65},", (",[51,695,696],{"class":153},"numero",[51,698,449],{"class":65},[51,700,427],{"class":57},[51,702,703],{"class":65}," console.",[51,705,75],{"class":61},[51,707,78],{"class":65},[51,709,710],{"class":81},"`Tour ${",[51,712,696],{"class":65},[51,714,715],{"class":81},"}`",[51,717,718],{"class":65},"))\n",[32,720,721],{},"C'est partout en JavaScript : les méthodes de tableaux, les événements et l'asynchrone fonctionnent ainsi. Tu les croiseras dans les cours suivants.",[10,723,725],{"id":724},"la-portée-des-variables","La portée des variables",[32,727,420,728,731,732,734,735,737],{},[36,729,730],{},"portée"," est la zone du code où une variable existe. Une variable déclarée avec ",[48,733,635],{}," ou ",[48,736,185],{}," n'existe que dans son bloc, entre accolades.",[41,739,741],{"className":43,"code":740,"language":45,"meta":46,"style":46},"function calculer() {\n  const resultat = 42\n  return resultat\n}\n\ncalculer()\nconsole.log(resultat)  \u002F\u002F Erreur : resultat is not defined\n",[48,742,743,752,765,772,776,780,787],{"__ignoreMap":46},[51,744,745,747,750],{"class":53,"line":54},[51,746,58],{"class":57},[51,748,749],{"class":61}," calculer",[51,751,66],{"class":65},[51,753,754,757,760,762],{"class":53,"line":69},[51,755,756],{"class":57},"  const",[51,758,759],{"class":171}," resultat",[51,761,191],{"class":57},[51,763,764],{"class":171}," 42\n",[51,766,767,769],{"class":53,"line":88},[51,768,162],{"class":57},[51,770,771],{"class":65}," resultat\n",[51,773,774],{"class":53,"line":94},[51,775,91],{"class":65},[51,777,778],{"class":53,"line":101},[51,779,98],{"emptyLinePlaceholder":97},[51,781,782,785],{"class":53,"line":110},[51,783,784],{"class":61},"calculer",[51,786,107],{"class":65},[51,788,789,791,793,796],{"class":53,"line":682},[51,790,205],{"class":65},[51,792,75],{"class":61},[51,794,795],{"class":65},"(resultat)  ",[51,797,798],{"class":213},"\u002F\u002F Erreur : resultat is not defined\n",[32,800,801],{},"Une fonction peut lire les variables déclarées autour d'elle.",[41,803,805],{"className":43,"code":804,"language":45,"meta":46,"style":46},"const tva = 0.055\n\nfunction prixTTC(prixHT) {\n  return prixHT * (1 + tva)\n}\n",[48,806,807,819,823,837,857],{"__ignoreMap":46},[51,808,809,811,814,816],{"class":53,"line":54},[51,810,185],{"class":57},[51,812,813],{"class":171}," tva",[51,815,191],{"class":57},[51,817,818],{"class":171}," 0.055\n",[51,820,821],{"class":53,"line":69},[51,822,98],{"emptyLinePlaceholder":97},[51,824,825,827,830,832,835],{"class":53,"line":88},[51,826,58],{"class":57},[51,828,829],{"class":61}," prixTTC",[51,831,78],{"class":65},[51,833,834],{"class":153},"prixHT",[51,836,157],{"class":65},[51,838,839,841,844,846,848,851,854],{"class":53,"line":94},[51,840,162],{"class":57},[51,842,843],{"class":65}," prixHT ",[51,845,168],{"class":57},[51,847,444],{"class":65},[51,849,850],{"class":171},"1",[51,852,853],{"class":57}," +",[51,855,856],{"class":65}," tva)\n",[51,858,859],{"class":53,"line":101},[51,860,91],{"class":65},[32,862,863],{},"L'inverse est faux : le code extérieur ne voit pas ce qui est déclaré à l'intérieur d'une fonction.",[865,866,867],"tip",{},[32,868,869],{},"Lis l'erreur affichée dans la console. Elle donne le message et la ligne concernée. Quand une variable est « not defined », vérifie d'abord l'orthographe, puis la portée.",[10,871,873],{"id":872},"garder-des-fonctions-petites","Garder des fonctions petites",[32,875,876,877,269,880,269,883,242],{},"Une bonne fonction fait une seule chose et porte un nom qui commence par un verbe : ",[48,878,879],{},"calculerPrix",[48,881,882],{},"afficherRecette",[48,884,885],{},"estVegetarienne",[32,887,888],{},"Si tu écris un commentaire pour séparer deux parties dans une fonction, c'est souvent le signe qu'il faut en faire deux fonctions.",[10,890,892],{"id":891},"à-retenir","À retenir",[15,894,895,905,911,917,927,930],{},[18,896,897,898,901,902,242],{},"Une fonction se déclare avec ",[48,899,900],{},"function nom() {}"," et s'appelle avec ",[48,903,904],{},"nom()",[18,906,907,908,910],{},"Les paramètres reçoivent des valeurs, ",[48,909,135],{}," renvoie un résultat.",[18,912,913,914,242],{},"Une valeur par défaut s'écrit ",[48,915,916],{},"function f(x = 1)",[18,918,919,920,923,924,926],{},"La fonction fléchée ",[48,921,922],{},"(x) => x * 2"," est une écriture courte, avec ",[48,925,135],{}," implicite.",[18,928,929],{},"On peut passer une fonction en argument : c'est un callback.",[18,931,932,933,734,935,937],{},"Une variable déclarée avec ",[48,934,635],{},[48,936,185],{}," n'existe que dans son bloc.",[939,940,941],"style",{},"html pre.shiki code .sOnC1, html code.shiki .sOnC1{--shiki-light:#CF222E;--shiki-default:#FF7B72;--shiki-dark:#FF7B72}html pre.shiki code .syCW7, html code.shiki .syCW7{--shiki-light:#8250DF;--shiki-default:#D2A8FF;--shiki-dark:#D2A8FF}html pre.shiki code .scfrF, html code.shiki .scfrF{--shiki-light:#1F2328;--shiki-default:#E6EDF3;--shiki-dark:#E6EDF3}html pre.shiki code .shWOn, html code.shiki .shWOn{--shiki-light:#0A3069;--shiki-default:#A5D6FF;--shiki-dark:#A5D6FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sIXEE, html code.shiki .sIXEE{--shiki-light:#953800;--shiki-default:#FFA657;--shiki-dark:#FFA657}html pre.shiki code .s5iOY, html code.shiki .s5iOY{--shiki-light:#0550AE;--shiki-default:#79C0FF;--shiki-dark:#79C0FF}html pre.shiki code .sd6ml, html code.shiki .sd6ml{--shiki-light:#6E7781;--shiki-default:#8B949E;--shiki-dark:#8B949E}",{"title":46,"searchDepth":69,"depth":88,"links":943},[944,945,946,947,948,949,950,951,952,953],{"id":12,"depth":69,"text":13},{"id":29,"depth":69,"text":30},{"id":124,"depth":69,"text":125},{"id":245,"depth":69,"text":246},{"id":323,"depth":69,"text":324},{"id":416,"depth":69,"text":417},{"id":594,"depth":69,"text":595},{"id":724,"depth":69,"text":725},{"id":872,"depth":69,"text":873},{"id":891,"depth":69,"text":892},"Écrire et appeler des fonctions, utiliser les paramètres et le retour, découvrir les fonctions fléchées et comprendre la portée des variables.","md",{},[58,131,135,423,330,730,601,958],"expression de fonction","debutant","\u002Fjs\u002Ffonctions",[962],"\u002Fjs\u002Fconditions-et-boucles",[964,968,972],{"nom":965,"url":966,"type":967},"MDN, Fonctions, réutiliser des blocs de code","https:\u002F\u002Fdeveloper.mozilla.org\u002Ffr\u002Fdocs\u002FLearn_web_development\u002FCore\u002FScripting\u002FFunctions","cours",{"nom":969,"url":970,"type":971},"MDN, Fonctions fléchées","https:\u002F\u002Fdeveloper.mozilla.org\u002Ffr\u002Fdocs\u002FWeb\u002FJavaScript\u002FReference\u002FFunctions\u002FArrow_functions","doc",{"nom":973,"url":974,"type":967},"MDN, Déboguer du JavaScript","https:\u002F\u002Fdeveloper.mozilla.org\u002Ffr\u002Fdocs\u002FLearn_web_development\u002FCore\u002FScripting\u002FDebugging_JavaScript",{"title":5,"description":954},[977,978],{"nom":965,"url":966},{"nom":969,"url":970},"js\u002F03.fonctions","9H1tWwDp-knb5sxVZomQI6MMUcJImJnbDY5FNvBPilI",[982,986,989,990,994,998,1002],{"path":983,"title":984,"stem":985},"\u002Fjs\u002Fpremiers-pas","Premiers pas en JavaScript","js\u002F01.premiers-pas",{"path":962,"title":987,"stem":988},"Conditions et boucles","js\u002F02.conditions-et-boucles",{"path":960,"title":5,"stem":979},{"path":991,"title":992,"stem":993},"\u002Fjs\u002Ftableaux-et-objets","Tableaux et objets","js\u002F04.tableaux-et-objets",{"path":995,"title":996,"stem":997},"\u002Fjs\u002Fdom-et-evenements","Le DOM et les événements","js\u002F05.dom-et-evenements",{"path":999,"title":1000,"stem":1001},"\u002Fjs\u002Fasynchrone-et-modules","Asynchrone et modules","js\u002F06.asynchrone-et-modules",{"path":1003,"title":1004,"stem":1005},"\u002Fjs","JavaScript","js\u002Findex",[1007,1009],{"title":987,"path":962,"stem":988,"description":1008,"children":-1},"Faire des choix avec if, else et switch, comparer des valeurs, puis répéter des actions avec for, while et for...of.",{"title":992,"path":991,"stem":993,"description":1010,"children":-1},"Regrouper des données dans des tableaux et des objets, les transformer avec map, filter et find, puis les manipuler avec la déstructuration et le spread.",[1012],{"path":962,"title":987,"ligne":45},[1014,1015,1016,1017,1019,1020,1022],{"path":983,"title":984,"niveau":959,"stem":985},{"path":962,"title":987,"niveau":959,"stem":988},{"path":960,"title":5,"niveau":959,"stem":979},{"path":991,"title":992,"niveau":1018,"stem":993},"intermediaire",{"path":995,"title":996,"niveau":1018,"stem":997},{"path":999,"title":1000,"niveau":1021,"stem":1001},"avance",{"path":1003,"title":1004,"niveau":1023,"stem":1005},"memo",1794583436810]