[{"data":1,"prerenderedAt":952},["ShallowReactive",2],{"page-\u002Fjs":3,"pieces-js":923,"autour-\u002Fjs":937,"prerequis-\u002Fjs":940,"plan-js":941},{"id":4,"title":5,"body":6,"description":903,"extension":904,"ligne":23,"meta":905,"motsCles":906,"navigation":453,"niveau":913,"path":914,"prerequis":915,"ressources":915,"seo":916,"sources":917,"stem":921,"__hash__":922},"docs\u002Fjs\u002Findex.md","JavaScript",{"type":7,"value":8,"toc":895},"minimark",[9,13,18,102,185,194,198,300,305,309,404,410,414,602,607,611,704,710,714,872,886,891],[10,11,12],"p",{},"Ce mémo résume les bases de JavaScript. Chaque section renvoie au cours qui l'explique en détail.",[14,15,17],"h2",{"id":16},"variables-et-types","Variables et types",[19,20,25],"pre",{"className":21,"code":22,"language":23,"meta":24,"style":24},"language-js shiki shiki-themes github-light-default github-dark-default github-dark-default","const titre = 'Crêpes'   \u002F\u002F ne sera pas réaffectée\nlet portions = 4          \u002F\u002F pourra changer\nconsole.log(`${titre} pour ${portions}`)\n","js","",[26,27,28,52,71],"code",{"__ignoreMap":24},[29,30,33,37,41,44,48],"span",{"class":31,"line":32},"line",1,[29,34,36],{"class":35},"sOnC1","const",[29,38,40],{"class":39},"s5iOY"," titre",[29,42,43],{"class":35}," =",[29,45,47],{"class":46},"shWOn"," 'Crêpes'",[29,49,51],{"class":50},"sd6ml","   \u002F\u002F ne sera pas réaffectée\n",[29,53,55,58,62,65,68],{"class":31,"line":54},2,[29,56,57],{"class":35},"let",[29,59,61],{"class":60},"scfrF"," portions ",[29,63,64],{"class":35},"=",[29,66,67],{"class":39}," 4",[29,69,70],{"class":50},"          \u002F\u002F pourra changer\n",[29,72,74,77,81,84,87,90,93,96,99],{"class":31,"line":73},3,[29,75,76],{"class":60},"console.",[29,78,80],{"class":79},"syCW7","log",[29,82,83],{"class":60},"(",[29,85,86],{"class":46},"`${",[29,88,89],{"class":60},"titre",[29,91,92],{"class":46},"} pour ${",[29,94,95],{"class":60},"portions",[29,97,98],{"class":46},"}`",[29,100,101],{"class":60},")\n",[103,104,105,118],"table",{},[106,107,108],"thead",{},[109,110,111,115],"tr",{},[112,113,114],"th",{},"Type",[112,116,117],{},"Exemple",[119,120,121,134,150,165,175],"tbody",{},[109,122,123,129],{},[124,125,126],"td",{},[26,127,128],{},"string",[124,130,131],{},[26,132,133],{},"'sel'",[109,135,136,141],{},[124,137,138],{},[26,139,140],{},"number",[124,142,143,146,147],{},[26,144,145],{},"250",", ",[26,148,149],{},"3.5",[109,151,152,157],{},[124,153,154],{},[26,155,156],{},"boolean",[124,158,159,146,162],{},[26,160,161],{},"true",[26,163,164],{},"false",[109,166,167,172],{},[124,168,169],{},[26,170,171],{},"undefined",[124,173,174],{},"variable sans valeur",[109,176,177,182],{},[124,178,179],{},[26,180,181],{},"null",[124,183,184],{},"absence voulue",[10,186,187,188,193],{},"Détails : ",[189,190,192],"a",{"href":191},"\u002Fjs\u002Fpremiers-pas","Premiers pas en JavaScript",".",[14,195,197],{"id":196},"conditions-et-boucles","Conditions et boucles",[103,199,200,210],{},[106,201,202],{},[109,203,204,207],{},[112,205,206],{},"Besoin",[112,208,209],{},"Syntaxe",[119,211,212,231,250,260,270,280,290],{},[109,213,214,217],{},[124,215,216],{},"Comparer",[124,218,219,146,222,146,225,146,228],{},[26,220,221],{},"===",[26,223,224],{},"!==",[26,226,227],{},"\u003C",[26,229,230],{},">=",[109,232,233,236],{},[124,234,235],{},"Combiner",[124,237,238,241,242,245,246,249],{},[26,239,240],{},"&&"," (et), ",[26,243,244],{},"||"," (ou), ",[26,247,248],{},"!"," (non)",[109,251,252,255],{},[124,253,254],{},"Choisir",[124,256,257],{},[26,258,259],{},"if (...) {} else if (...) {} else {}",[109,261,262,265],{},[124,263,264],{},"Deux valeurs",[124,266,267],{},[26,268,269],{},"condition ? a : b",[109,271,272,275],{},[124,273,274],{},"Nombre de tours connu",[124,276,277],{},[26,278,279],{},"for (let i = 0; i \u003C n; i++) {}",[109,281,282,285],{},[124,283,284],{},"Tant que",[124,286,287],{},[26,288,289],{},"while (condition) {}",[109,291,292,295],{},[124,293,294],{},"Parcourir une liste",[124,296,297],{},[26,298,299],{},"for (const x of liste) {}",[10,301,187,302,193],{},[189,303,197],{"href":304},"\u002Fjs\u002Fconditions-et-boucles",[14,306,308],{"id":307},"fonctions","Fonctions",[19,310,312],{"className":21,"code":311,"language":23,"meta":24,"style":24},"function doubler(x) { return x * 2 }\nconst tripler = (x) => x * 3\nconst saluer = (nom = 'cuisinier') => `Bonjour ${nom}`\n",[26,313,314,346,373],{"__ignoreMap":24},[29,315,316,319,322,324,328,331,334,337,340,343],{"class":31,"line":32},[29,317,318],{"class":35},"function",[29,320,321],{"class":79}," doubler",[29,323,83],{"class":60},[29,325,327],{"class":326},"sIXEE","x",[29,329,330],{"class":60},") { ",[29,332,333],{"class":35},"return",[29,335,336],{"class":60}," x ",[29,338,339],{"class":35},"*",[29,341,342],{"class":39}," 2",[29,344,345],{"class":60}," }\n",[29,347,348,350,353,355,358,360,363,366,368,370],{"class":31,"line":54},[29,349,36],{"class":35},[29,351,352],{"class":79}," tripler",[29,354,43],{"class":35},[29,356,357],{"class":60}," (",[29,359,327],{"class":326},[29,361,362],{"class":60},") ",[29,364,365],{"class":35},"=>",[29,367,336],{"class":60},[29,369,339],{"class":35},[29,371,372],{"class":39}," 3\n",[29,374,375,377,380,382,384,387,389,392,394,396,399,401],{"class":31,"line":73},[29,376,36],{"class":35},[29,378,379],{"class":79}," saluer",[29,381,43],{"class":35},[29,383,357],{"class":60},[29,385,386],{"class":326},"nom",[29,388,43],{"class":35},[29,390,391],{"class":46}," 'cuisinier'",[29,393,362],{"class":60},[29,395,365],{"class":35},[29,397,398],{"class":46}," `Bonjour ${",[29,400,386],{"class":60},[29,402,403],{"class":46},"}`\n",[10,405,187,406,193],{},[189,407,409],{"href":408},"\u002Fjs\u002Ffonctions","Les fonctions",[14,411,413],{"id":412},"tableaux-et-objets","Tableaux et objets",[19,415,417],{"className":21,"code":416,"language":23,"meta":24,"style":24},"const recettes = [{ id: 1, titre: 'Crêpes', minutes: 20 }]\n\nrecettes.map((r) => r.titre)           \u002F\u002F transformer\nrecettes.filter((r) => r.minutes \u003C 30) \u002F\u002F sélectionner\nrecettes.find((r) => r.id === 1)       \u002F\u002F trouver le premier\n\nconst { titre } = recettes[0]          \u002F\u002F déstructuration\nconst copie = { ...recettes[0], minutes: 25 }  \u002F\u002F spread\n",[26,418,419,449,455,479,508,538,543,570],{"__ignoreMap":24},[29,420,421,423,426,428,431,434,437,440,443,446],{"class":31,"line":32},[29,422,36],{"class":35},[29,424,425],{"class":39}," recettes",[29,427,43],{"class":35},[29,429,430],{"class":60}," [{ id: ",[29,432,433],{"class":39},"1",[29,435,436],{"class":60},", titre: ",[29,438,439],{"class":46},"'Crêpes'",[29,441,442],{"class":60},", minutes: ",[29,444,445],{"class":39},"20",[29,447,448],{"class":60}," }]\n",[29,450,451],{"class":31,"line":54},[29,452,454],{"emptyLinePlaceholder":453},true,"\n",[29,456,457,460,463,466,469,471,473,476],{"class":31,"line":73},[29,458,459],{"class":60},"recettes.",[29,461,462],{"class":79},"map",[29,464,465],{"class":60},"((",[29,467,468],{"class":326},"r",[29,470,362],{"class":60},[29,472,365],{"class":35},[29,474,475],{"class":60}," r.titre)           ",[29,477,478],{"class":50},"\u002F\u002F transformer\n",[29,480,482,484,487,489,491,493,495,498,500,503,505],{"class":31,"line":481},4,[29,483,459],{"class":60},[29,485,486],{"class":79},"filter",[29,488,465],{"class":60},[29,490,468],{"class":326},[29,492,362],{"class":60},[29,494,365],{"class":35},[29,496,497],{"class":60}," r.minutes ",[29,499,227],{"class":35},[29,501,502],{"class":39}," 30",[29,504,362],{"class":60},[29,506,507],{"class":50},"\u002F\u002F sélectionner\n",[29,509,511,513,516,518,520,522,524,527,529,532,535],{"class":31,"line":510},5,[29,512,459],{"class":60},[29,514,515],{"class":79},"find",[29,517,465],{"class":60},[29,519,468],{"class":326},[29,521,362],{"class":60},[29,523,365],{"class":35},[29,525,526],{"class":60}," r.id ",[29,528,221],{"class":35},[29,530,531],{"class":39}," 1",[29,533,534],{"class":60},")       ",[29,536,537],{"class":50},"\u002F\u002F trouver le premier\n",[29,539,541],{"class":31,"line":540},6,[29,542,454],{"emptyLinePlaceholder":453},[29,544,546,548,551,553,556,558,561,564,567],{"class":31,"line":545},7,[29,547,36],{"class":35},[29,549,550],{"class":60}," { ",[29,552,89],{"class":39},[29,554,555],{"class":60}," } ",[29,557,64],{"class":35},[29,559,560],{"class":60}," recettes[",[29,562,563],{"class":39},"0",[29,565,566],{"class":60},"]          ",[29,568,569],{"class":50},"\u002F\u002F déstructuration\n",[29,571,573,575,578,580,582,585,588,590,593,596,599],{"class":31,"line":572},8,[29,574,36],{"class":35},[29,576,577],{"class":39}," copie",[29,579,43],{"class":35},[29,581,550],{"class":60},[29,583,584],{"class":35},"...",[29,586,587],{"class":60},"recettes[",[29,589,563],{"class":39},[29,591,592],{"class":60},"], minutes: ",[29,594,595],{"class":39},"25",[29,597,598],{"class":60}," }  ",[29,600,601],{"class":50},"\u002F\u002F spread\n",[10,603,187,604,193],{},[189,605,413],{"href":606},"\u002Fjs\u002Ftableaux-et-objets",[14,608,610],{"id":609},"dom-et-événements","DOM et événements",[103,612,613,623],{},[106,614,615],{},[109,616,617,620],{},[112,618,619],{},"Action",[112,621,622],{},"Code",[119,624,625,635,645,655,671,684,694],{},[109,626,627,630],{},[124,628,629],{},"Sélectionner un élément",[124,631,632],{},[26,633,634],{},"document.querySelector('#id')",[109,636,637,640],{},[124,638,639],{},"Sélectionner plusieurs éléments",[124,641,642],{},[26,643,644],{},"document.querySelectorAll('.classe')",[109,646,647,650],{},[124,648,649],{},"Changer le texte",[124,651,652],{},[26,653,654],{},"el.textContent = '...'",[109,656,657,660],{},[124,658,659],{},"Gérer une classe",[124,661,662,146,665,146,668],{},[26,663,664],{},"el.classList.add('x')",[26,666,667],{},"remove",[26,669,670],{},"toggle",[109,672,673,676],{},[124,674,675],{},"Créer et ajouter",[124,677,678,146,681],{},[26,679,680],{},"document.createElement('li')",[26,682,683],{},"liste.append(li)",[109,685,686,689],{},[124,687,688],{},"Écouter un événement",[124,690,691],{},[26,692,693],{},"el.addEventListener('click', (event) => {})",[109,695,696,699],{},[124,697,698],{},"Bloquer l'envoi d'un formulaire",[124,700,701],{},[26,702,703],{},"event.preventDefault()",[10,705,187,706,193],{},[189,707,709],{"href":708},"\u002Fjs\u002Fdom-et-evenements","Le DOM et les événements",[14,711,713],{"id":712},"asynchrone-et-modules","Asynchrone et modules",[19,715,718],{"className":21,"code":716,"filename":717,"language":23,"meta":24,"style":24},"import { prixTTC } from '.\u002Fprix.js'\n\nasync function charger() {\n  try {\n    const reponse = await fetch('\u002Fapi\u002Frecettes')\n    if (!reponse.ok) throw new Error(`Erreur ${reponse.status}`)\n    return await reponse.json()\n  } catch (erreur) {\n    console.error(erreur)\n  }\n}\n","script.js",[26,719,720,734,738,752,760,783,821,837,848,860,866],{"__ignoreMap":24},[29,721,722,725,728,731],{"class":31,"line":32},[29,723,724],{"class":35},"import",[29,726,727],{"class":60}," { prixTTC } ",[29,729,730],{"class":35},"from",[29,732,733],{"class":46}," '.\u002Fprix.js'\n",[29,735,736],{"class":31,"line":54},[29,737,454],{"emptyLinePlaceholder":453},[29,739,740,743,746,749],{"class":31,"line":73},[29,741,742],{"class":35},"async",[29,744,745],{"class":35}," function",[29,747,748],{"class":79}," charger",[29,750,751],{"class":60},"() {\n",[29,753,754,757],{"class":31,"line":481},[29,755,756],{"class":35},"  try",[29,758,759],{"class":60}," {\n",[29,761,762,765,768,770,773,776,778,781],{"class":31,"line":510},[29,763,764],{"class":35},"    const",[29,766,767],{"class":39}," reponse",[29,769,43],{"class":35},[29,771,772],{"class":35}," await",[29,774,775],{"class":79}," fetch",[29,777,83],{"class":60},[29,779,780],{"class":46},"'\u002Fapi\u002Frecettes'",[29,782,101],{"class":60},[29,784,785,788,790,792,795,798,801,804,806,809,812,814,817,819],{"class":31,"line":540},[29,786,787],{"class":35},"    if",[29,789,357],{"class":60},[29,791,248],{"class":35},[29,793,794],{"class":60},"reponse.ok) ",[29,796,797],{"class":35},"throw",[29,799,800],{"class":35}," new",[29,802,803],{"class":79}," Error",[29,805,83],{"class":60},[29,807,808],{"class":46},"`Erreur ${",[29,810,811],{"class":60},"reponse",[29,813,193],{"class":46},[29,815,816],{"class":60},"status",[29,818,98],{"class":46},[29,820,101],{"class":60},[29,822,823,826,828,831,834],{"class":31,"line":545},[29,824,825],{"class":35},"    return",[29,827,772],{"class":35},[29,829,830],{"class":60}," reponse.",[29,832,833],{"class":79},"json",[29,835,836],{"class":60},"()\n",[29,838,839,842,845],{"class":31,"line":572},[29,840,841],{"class":60},"  } ",[29,843,844],{"class":35},"catch",[29,846,847],{"class":60}," (erreur) {\n",[29,849,851,854,857],{"class":31,"line":850},9,[29,852,853],{"class":60},"    console.",[29,855,856],{"class":79},"error",[29,858,859],{"class":60},"(erreur)\n",[29,861,863],{"class":31,"line":862},10,[29,864,865],{"class":60},"  }\n",[29,867,869],{"class":31,"line":868},11,[29,870,871],{"class":60},"}\n",[10,873,874,875,878,879,146,882,885],{},"Dans la page : ",[26,876,877],{},"\u003Cscript type=\"module\" src=\"script.js\">\u003C\u002Fscript>",". Dans le fichier ",[26,880,881],{},"prix.js",[26,883,884],{},"export"," expose ce que les autres fichiers peuvent importer.",[10,887,187,888,193],{},[189,889,713],{"href":890},"\u002Fjs\u002Fasynchrone-et-modules",[892,893,894],"style",{},"html pre.shiki code .sOnC1, html code.shiki .sOnC1{--shiki-light:#CF222E;--shiki-default:#FF7B72;--shiki-dark:#FF7B72}html pre.shiki code .s5iOY, html code.shiki .s5iOY{--shiki-light:#0550AE;--shiki-default:#79C0FF;--shiki-dark:#79C0FF}html pre.shiki code .shWOn, html code.shiki .shWOn{--shiki-light:#0A3069;--shiki-default:#A5D6FF;--shiki-dark:#A5D6FF}html pre.shiki code .sd6ml, html code.shiki .sd6ml{--shiki-light:#6E7781;--shiki-default:#8B949E;--shiki-dark:#8B949E}html pre.shiki code .scfrF, html code.shiki .scfrF{--shiki-light:#1F2328;--shiki-default:#E6EDF3;--shiki-dark:#E6EDF3}html pre.shiki code .syCW7, html code.shiki .syCW7{--shiki-light:#8250DF;--shiki-default:#D2A8FF;--shiki-dark:#D2A8FF}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}",{"title":24,"searchDepth":54,"depth":73,"links":896},[897,898,899,900,901,902],{"id":16,"depth":54,"text":17},{"id":196,"depth":54,"text":197},{"id":307,"depth":54,"text":308},{"id":412,"depth":54,"text":413},{"id":609,"depth":54,"text":610},{"id":712,"depth":54,"text":713},"Le mémo de JavaScript : variables, types, conditions, boucles, fonctions, tableaux, objets, DOM, asynchrone et modules.","md",{},[907,908,5,57,36,462,486,909,910,911,742,912,724],"mémo","aide-mémoire","querySelector","addEventListener","fetch","await","memo","\u002Fjs",null,{"title":5,"description":903},[918],{"nom":919,"url":920},"MDN, Référence JavaScript","https:\u002F\u002Fdeveloper.mozilla.org\u002Ffr\u002Fdocs\u002FWeb\u002FJavaScript\u002FReference","js\u002Findex","KYkaVaidquj_iUR3KTH_wzMbmUbeUN5WTm8wFeDSxZU",[924,926,928,930,932,934,936],{"path":191,"title":192,"stem":925},"js\u002F01.premiers-pas",{"path":304,"title":197,"stem":927},"js\u002F02.conditions-et-boucles",{"path":408,"title":409,"stem":929},"js\u002F03.fonctions",{"path":606,"title":413,"stem":931},"js\u002F04.tableaux-et-objets",{"path":708,"title":709,"stem":933},"js\u002F05.dom-et-evenements",{"path":890,"title":713,"stem":935},"js\u002F06.asynchrone-et-modules",{"path":914,"title":5,"stem":921},[915,938],{"title":192,"path":191,"stem":925,"description":939,"children":-1},"Où s'exécute JavaScript, comment utiliser la console, puis déclarer des variables avec let et const et reconnaître les types de valeurs.",[],[942,944,945,946,948,949,951],{"path":191,"title":192,"niveau":943,"stem":925},"debutant",{"path":304,"title":197,"niveau":943,"stem":927},{"path":408,"title":409,"niveau":943,"stem":929},{"path":606,"title":413,"niveau":947,"stem":931},"intermediaire",{"path":708,"title":709,"niveau":947,"stem":933},{"path":890,"title":713,"niveau":950,"stem":935},"avance",{"path":914,"title":5,"niveau":913,"stem":921},1794583428377]