{
    "componentChunkName": "component---src-templates-docs-js",
    "path": "/veckoanvisningar/kursvecka-05/utmaningar",
    "result": {"data":{"site":{"siteMetadata":{"title":"Linnéuniversitetet","language":"sv","courseCode":"1dv025"}},"mdx":{"fields":{"id":"0e310197-0964-5f7f-96ed-4125de31d8fb","title":"Utmaningar","slug":"/veckoanvisningar/kursvecka-05/utmaningar"},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Utmaningar\",\n  \"metaTitle\": \"1DV025 | Utmaningar kursvecka 5\",\n  \"metaDescription\": \"metaDescription\",\n  \"order\": 5\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", null, \"Fr\\xE5ga 05-01: Vad skrivs ut?\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"[object Object]\", \";\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Ellen Nu\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Nu\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\",\n    \"metastring\": \"runkit\",\n    \"runkit\": true\n  }, \"const run = function (first, last) {\\n    return {\\n      firstName: first,\\n      lastName: last\\n    }\\n  }\\n\\n  let result = run('Ellen', 'Nu')\\n  console.log(result.last)\\n\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"  Typiskt slarvfel. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"result.lastName\"), \" \\xE4r det nog som avses p\\xE5 sista raden.\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-02: Vad skrivs ut?\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"3\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"2:34\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"2:22\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\",\n    \"metastring\": \"runkit\",\n    \"runkit\": true\n  }, \"  const createMovie = (title, length, year) => {\\n    return {\\n      title,\\n      length,\\n      year\\n    }\\n  }\\n\\n  const movies = []\\n  movies.push(createMovie('Pulp Fiction', '2:34', '1994'))\\n  movies.push(createMovie('The Shawshank Redemption', '2:22', '1994'))\\n  movies.push(createMovie('The Godfather', '2:55', '1972'))\\n\\n  console.log(movies[1].length)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"  En slamkrypare. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"movies[1].length\"), \" \\xE4r det kluriga. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"movies[1]\"), \" refererar till\\ndet andra objektet i arrayen, och egenskapen \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"length\"), \" p\\xE5 detta objekt ger \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"2:22\"), \".\"), mdx(\"p\", null, \"  Fundera p\\xE5 vad som h\\xE4nder om du skriver \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"movies[1].length.length\"), \"? Eller \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"movies.length\"), \"?\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-03: Vad skrivs ut?\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"I have 12 somethings!\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"I have 10 somethings!\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"I have 0 somethings!\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\",\n    \"metastring\": \"runkit\",\n    \"runkit\": true\n  }, \"  const objPrototype = {\\n  prop: 10,\\n  toString () {\\n    return `I have ${this.prop} somethings!`\\n  }\\n}\\n\\nconst createObject = function (quantity = 0) {\\n  const obj = Object.create(objPrototype)\\n  obj.prop = quantity\\n  return obj\\n}\\n\\nconst obj = createObject(12)\\n\\nconsole.log(obj.toString())\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"  \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"objPrototype\"), \" \\xE4r h\\xE4r v\\xE5r prototyp utifr\\xE5n vilken v\\xE5ra objekt skapas.\\n\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"obj.prop\"), \" kommer att skapa en egenskap \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"prop\"), \" som \\xF6verskuggar prototypens\\negenskap med samma namn. Vad h\\xE4nder om vi kommenterar ut raden \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"obj.prop = quantity\"), \"?\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-04: \\xC4r funktionen \\\"run\\\" en funktion utan sidoeffekter? (Pure function)\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Ja\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Nej\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Det beror p\\xE5\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Kanske\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\"\n  }, \"const run = function (obj) {\\n  obj.quantity += 10\\n}\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"  Nej, funktionen har sidoeffekter d\\xE5 den p\\xE5verkar det objekt vars referens\\nskickas som ett argument till funktionen.\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-05: Vad skrivs ut?\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"12\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"10\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"22\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\",\n    \"metastring\": \"runkit\",\n    \"runkit\": true\n  }, \"const myObj = {\\n  quantity: 12,\\n  name: 'Part1'\\n}\\n\\nconst run = function (obj) {\\n  obj.quantity += 10\\n}\\n\\nrun(myObj)\\n\\nconsole.log(myObj.quantity)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"  H\\xE4r ser vi effekten av att funktionen \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"run\"), \" har sidoeffekter. Objektet \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"myObj\"), \"\\nrefererar till, via \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"obj\"), \", p\\xE5verkas.\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-06: Vad skrivs ut?\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"12\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"10\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"22\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\",\n    \"metastring\": \"runkit\",\n    \"runkit\": true\n  }, \"let quantity = 12\\n\\nconst run = function (q) {\\n  q += 10\\n}\\n\\nrun(quantity)\\n\\nconsole.log(quantity)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"  D\\xE5 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"quantity\"), \" i detta fall \\xE4r en v\\xE4rdetyp, s\\xE5 kopieras dess inneh\\xE5ll till\\nparametern \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"q\"), \" n\\xE4r \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"quantity\"), \" skickas som argument. Kopian \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"q\"), \" \\xE4ndras och\\nf\\xF6rst\\xF6rs n\\xE4r funktionen \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"run\"), \" returnerar. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"run\"), \" \\xE4r i detta fall en funktion\\nutan sidoeffekter.\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-07: Vad returnerar funktionen?\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"[\\\"Ellen\\\", \\\"Sture\\\", \\\"Maja\\\"]\", \";\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"[{name: \\\"Ellen\\\", points: 13}, {name: \\\"Sture\\\", points: 3}, {name: \\\"Maja\\\", points: 39}]\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"{ name: 'Sture', points: 3 }\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"[ { name: 'Sture', points: 3 } ]\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\",\n    \"metastring\": \"runkit\",\n    \"runkit\": true\n  }, \"const run = function () {\\n  const objects = [\\n    {name: 'Ellen', points: 13},\\n    {name: 'Sture', points: 3},\\n    {name: 'Maja', points: 39}\\n  ]\\n\\n  return objects.filter(function (current) {\\n    return current.points < 10\\n  })\\n}\\n\\nlet result = run()\\nconsole.log(result)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"  Iteratorfunktioner s\\xE5 som \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"filter\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"map\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"reduce\"), \", etc. \\xE4r mycket\\nkraftfulla. Dessutom l\\xE4mpar de sig v\\xE4l att kombinera med \\\"arrow\\\"-funktioner:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\",\n    \"metastring\": \"runkit\",\n    \"runkit\": true\n  }, \"const run = function () {\\n  const objects = [\\n    {name: 'Ellen', points: 13},\\n    {name: 'Sture', points: 3},\\n    {name: 'Maja', points: 39}\\n  ]\\n\\n  return objects.filter( (current) => current.points < 10 )\\n}\\n\\nlet result = run()\\nconsole.log(result)\\n\"))), mdx(\"h2\", null, \"Fr\\xE5ga 05-08: Hur m\\xE5nga g\\xE5nger kommer funktionen printTeachers() att anropas?\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"1\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"3\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"4\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Tills applikationen kraschar (evighetsloop)\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\",\n    \"metastring\": \"runkit\",\n    \"runkit\": true\n  }, \"let teachers = {\\n     name: 'Mats',\\n     next: {\\n       name: 'Johan',\\n       next: {\\n         name: 'Niklas',\\n         prev: {\\n           name: 'Tobias'\\n         }\\n       }\\n     }\\n   }\\n\\n   function printTeachers (current) {\\n     console.log(current.name)\\n\\n     if (current.next !== undefined) {\\n       printTeachers(current.next)\\n     }\\n   }\\n\\n   printTeachers(teachers)\\n\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-09 Vad skrivs ut?\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"abyssinian, bombay, bengal, burmese, main coon\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"12, 2, 14, 2, 4\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"34\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Applikationen kraschar (evighetsloop)\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\",\n    \"metastring\": \"runkit\",\n    \"runkit\": true\n  }, \"const frequencyTable = {\\n     abyssinian: 12,\\n     bombay: 2,\\n     bengal: 14,\\n     burmese: 2,\\n     'main coon': 4\\n   }\\n\\n   for (key of Object.keys(frequencyTable)) {\\n      console.log(frequencyTable[key])\\n   }\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"  H\\xE4r anv\\xE4nds \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Object.keys\"), \" f\\xF6r att f\\xE5 ut objektets samtliga nycklar. Nyckeln\\nanv\\xE4nds sedan f\\xF6r att f\\xE5 ut v\\xE4rdet i objektet. Notationen h\\xE4r liknar den n\\xE4r\\nvi l\\xE4ser fr\\xE5n arrayer. Kan du komma p\\xE5 ett enklare(?) s\\xE4tt att g\\xF6ra samma sak?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\",\n    \"metastring\": \"runkit\",\n    \"runkit\": true\n  }, \"const frequencyTable = {\\n     abyssinian: 12,\\n     bombay: 2,\\n     bengal: 14,\\n     burmese: 2,\\n     'main coon': 4\\n   }\\n\\n   for (value of Object.values(frequencyTable)) {\\n      console.log(value)\\n   }\\n\")), mdx(\"p\", null, \"Ett annat s\\xE4tt som \\xE4r vanligt att l\\xF6sa ovanst\\xE5ende p\\xE5 \\xE4r att anv\\xE4nda sig av \\\"destructing\\\":\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javasscript\",\n    \"metastring\": \"runkit\",\n    \"runkit\": true\n  }, \"const frequencyTable = {\\n     abyssinian: 12,\\n     bombay: 2,\\n     bengal: 14,\\n     burmese: 2,\\n     'main coon': 4\\n   }\\n\\n   for (const [catType, catQuant] of Object.entries(frequencyTable)) {\\n      console.log(catType, catQuant)\\n   }\\n\"))));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#fråga-05-01-vad-skrivs-ut","title":"Fråga 05-01: Vad skrivs ut?"},{"url":"#fråga-05-02-vad-skrivs-ut","title":"Fråga 05-02: Vad skrivs ut?"},{"url":"#fråga-05-03-vad-skrivs-ut","title":"Fråga 05-03: Vad skrivs ut?"},{"url":"#fråga-05-04-är-funktionen-run-en-funktion-utan-sidoeffekter-pure-function","title":"Fråga 05-04: Är funktionen \"run\" en funktion utan sidoeffekter? (Pure function)"},{"url":"#fråga-05-05-vad-skrivs-ut","title":"Fråga 05-05: Vad skrivs ut?"},{"url":"#fråga-05-06-vad-skrivs-ut","title":"Fråga 05-06: Vad skrivs ut?"},{"url":"#fråga-05-07-vad-returnerar-funktionen","title":"Fråga 05-07: Vad returnerar funktionen?"},{"url":"#fråga-05-08-hur-många-gånger-kommer-funktionen-printteachers-att-anropas","title":"Fråga 05-08: Hur många gånger kommer funktionen printTeachers() att anropas?"},{"url":"#fråga-05-09-vad-skrivs-ut","title":"Fråga 05-09 Vad skrivs ut?"}]},"parent":{"relativePath":"veckoanvisningar/kursvecka-05/utmaningar.md"},"frontmatter":{"metaTitle":"1DV025 | Utmaningar kursvecka 5","metaDescription":"metaDescription","fullWidth":null}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/examinationsuppgifter","title":"Examinationsuppgifter"}}},{"node":{"fields":{"slug":"/samlingar","title":"Samlingar"}}},{"node":{"fields":{"slug":"/","title":"Webbprogrammering på klientsidan (1DV025) - en kurs med JavaScript i fokus"}}},{"node":{"fields":{"slug":"/sandbox/basic-elements","title":"Basic elements"}}},{"node":{"fields":{"slug":"/sandbox/code","title":"Code"}}},{"node":{"fields":{"slug":"/sandbox/exercise","title":"Exercises"}}},{"node":{"fields":{"slug":"/sandbox/frontmatter","title":"Frontmatter"}}},{"node":{"fields":{"slug":"/sandbox/hint","title":"Hint"}}},{"node":{"fields":{"slug":"/sandbox","title":"Sandbox"}}},{"node":{"fields":{"slug":"/sandbox/markdown-import","title":"Imported markdown"}}},{"node":{"fields":{"slug":"/sandbox/mermaid","title":"Mermaid"}}},{"node":{"fields":{"slug":"/sandbox/tabs","title":"Tabs"}}},{"node":{"fields":{"slug":"/sandbox/youtube","title":"YouTube"}}},{"node":{"fields":{"slug":"/studieguide/examination","title":"Examination"}}},{"node":{"fields":{"slug":"/studieguide/forvantningar","title":"Förväntningar"}}},{"node":{"fields":{"slug":"/studieguide","title":"Studieguide"}}},{"node":{"fields":{"slug":"/studieguide/kommunikationsstrategi","title":"Kommunikationsstrategi"}}},{"node":{"fields":{"slug":"/studieguide/kursledning","title":"Kursledning"}}},{"node":{"fields":{"slug":"/studieguide/kursvardering","title":"Kursvärdering"}}},{"node":{"fields":{"slug":"/studieguide/larresurser","title":"Lärresurser"}}},{"node":{"fields":{"slug":"/studieguide/registrering","title":"Registrering"}}},{"node":{"fields":{"slug":"/studieguide/valkommen","title":"🎉 Välkommen!"}}},{"node":{"fields":{"slug":"/veckoanvisningar","title":"Veckoanvisningar"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-a/a1","title":"A1 - Online-test"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-a/a3-tjugoett","title":"A3 - Tjugoett"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-a","title":"Delkurs A"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-a/a2-beskrivande-statistik","title":"A2 - Beskrivande statistik"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-b/b1","title":"B1 - Online-test"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-b","title":"Delkurs B"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-b/b2","title":"B2 - The Quiz app"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om","title":"Om examination"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/kom-igang","title":"Kom igång med en uppgift"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/inlamning-via-mr","title":"Inlämning via Merge request"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/muntlig-examination","title":"Muntlig examination"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-a/guider","title":"Guider"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-a","title":"Delkurs A"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-a/ovningar","title":"Övningar"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-a/inspelningar","title":"Stödjande inspelningar"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-b/ovningar","title":"Övningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/guide-nodejs","title":"Guide - Node.js"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01","title":"Kursvecka 1 - Satser"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/guide-ovningsuppgifter","title":"Guide - Övningsuppgift"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/guide-vscode","title":"Guide - VSCode"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02","title":"Kursvecka 2 - Funktioner, moduler"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-b/b3","title":"B3 - PWD"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/examinationsuppgift","title":"Guide - Examinationsuppgift"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03","title":"Kursvecka 3 - Styrstrukturer"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/guide-jsdoc","title":"Guide - JSDoc"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04","title":"Kursvecka 4 - Arrayer"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05","title":"Kursvecka 5 - Objekt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06","title":"Kursvecka 6 - Klasser"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07","title":"Kursvecka 7 - Arv"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08","title":"Kursvecka 8 - Webbläsaren"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09","title":"Kursvecka 9 - HTML-element"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/guide-jest-spec-name","title":"Guide - Så gör du när du inte vill köra alla tester varje gång"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10","title":"Kursvecka 10 - Webbkomponenter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11","title":"Kursvecka 11 - Händelser"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12","title":"Kursvecka 12 - AsyncAwait"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13","title":"Kursvecka 13 - Komposition"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14","title":"Kursvecka 14 - Lagring"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-15","title":"Kursvecka 15 - Installerbara PWAs"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-15/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-15/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-15/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-16","title":"Kursvecka 16 - Pålitliga PWAs"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-16/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-16/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-16/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-17-19","title":"Kursvecka 17-19 - Kapabla PWAs"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-17-19/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-17-19/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-17-19/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-20","title":"Kursvecka 20 - Examination"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-20/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/resurser/kom-igang","title":"Kom Igang"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/resurser/mr","title":"Mr"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/00-om-git","title":"Introduction"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/10-git","title":"Setting Up"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/12-commit-messages","title":"Commits best practice"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/12-multipla-datorer","title":"Multiple computers"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/14-multiple-git-user-configs","title":"Multiple Git User Configs"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/16-ssh-troubleshoot","title":"SSH-keys troubleshooting"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/20-detta-hander-vid-git-kommandon","title":"Detta händer vid git-kommandon"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider","title":"Guide - Git versionshantering"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-15/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-16/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-b","title":"Delkurs B"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-b/inspelningar","title":"Stödjande inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-17-19/resurser/inspelningar","title":"Inspelningar"}}}]}},"pageContext":{"id":"0e310197-0964-5f7f-96ed-4125de31d8fb"}},
    "staticQueryHashes": ["253607798","3706406642","710574383"]}