{
    "componentChunkName": "component---src-templates-docs-js",
    "path": "/veckoanvisningar/kursvecka-06/utmaningar",
    "result": {"data":{"site":{"siteMetadata":{"title":"Linnéuniversitetet","language":"sv","courseCode":"1dv025"}},"mdx":{"fields":{"id":"6e2c36b3-1d22-55f8-9263-b6d4937a4842","title":"Utmaningar","slug":"/veckoanvisningar/kursvecka-06/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 6\",\n  \"metaDescription\": \"metaDescription\",\n  \"order\": 4\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(\"p\", null, \"Nedan finns ett antal program, f\\xF6rs\\xF6k l\\xE4sa koden och se vad som kommer att skrivas ut.\"), mdx(\"p\", null, \"Du kan f\\xE5 tips om du klickar upp stycket med \\\"Alternativ\\\", d\\xE5 f\\xE5r du ett antal alternativ att v\\xE4lja p\\xE5, s\\xE5 blir det lite l\\xE4ttare.\"), mdx(\"p\", null, \"Om du inte lyckas s\\xE5 kan du alltid prova koden och k\\xF6ra den p\\xE5 egen hand f\\xF6r att se vad som h\\xE4nder, eller ta upp fr\\xE5gan p\\xE5 en handledning.\"), mdx(\"h2\", null, \"F06-01: Vilket av p\\xE5st\\xE5endena nedan \\xE4r mest korrekt?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"import { Alfa } from './Alfa.js'\\n\\nconst alfa = new Alfa()\\n\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Vi tilldelar konstanten alfa ett nytt objekt fr\\xE5n \\\"Factoryn\\\" Alfa.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Vi instansierar ett nytt objekt utifr\\xE5n klassen Alfa och sparar dess referens i konstanten alfa.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Vi skapar en ny klass Alfa och sparar dess v\\xE4rde i konstanten \\\"alfa\\\".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Vi importerar objektet Alfa och instansierar en ny klass utifr\\xE5n denna. Referensen sparas i konstanten alfa.\")), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"Det som \\xE4r korrekt h\\xE4r \\xE4r:\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"Vi instansierar ett nytt objekt utifr\\xE5n klassen Alfa och sparar dess referens i konstanten alfa.\"))), mdx(\"h2\", null, \"F06-02: Vad skrivs ut?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"class Alfa {\\n  constructor (beta) {\\n    this.b = beta\\n  }\\n\\n  get beta () {\\n    return this.b ** 2\\n  }\\n}\\n\\nconst alfa = new Alfa(4)\\n\\nconsole.log(alfa.beta())\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"16\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"TypeError: alfa.beta is not a function\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"4\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"TypeError: alfa.beta is not a function\")), mdx(\"p\", null, \"Slamkrypare. getters hanteras som egenskaper och ska allts\\xE5 anropas utan ():\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"    class Alfa {\\n      constructor (beta) {\\n        this.b = beta\\n      }\\n\\n      get beta () {\\n        return this.b ** 2\\n      }\\n  }\\n\\n  const alfa = new Alfa(4)\\n\\n  console.log(alfa.beta)\\n\"))), mdx(\"h3\", null, \"F06-03: Vad skrivs ut?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"class Cat {\\n  constructor (name, age) {\\n    this.name = name\\n    this.age = age\\n  }\\n}\\n\\nconst cats = []\\ncats.push(new Cat('Dexter', 13))\\ncats.push(new Cat('Gustav', 16))\\ncats.push(new Cat('Lucifer', 6))\\ncats.push(new Cat('Jennie', 16))\\n\\nconsole.log(cats[2].name)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Lucifer\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Type Error: cat is not an array\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"13\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"16\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"Lucifer\")), mdx(\"p\", null, \"Koden g\\xF6r precis det vi \\xF6nskar. Objekt instantieras utifr\\xE5n klassen Cat och l\\xE4ggs till i Arrayen Cats. Vi skriver sedan ut egenskapen \\\"name\\\" p\\xE5 objektet p\\xE5 index 2 i arrayen.\")), mdx(\"h3\", null, \"F06-04: Vad skrivs ut?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"    class Alfa {\\n     constructor (value = 0) {\\n       this.value = value\\n     }\\n\\n     increment (value = 1) {\\n       this.value += value\\n     }\\n   }\\n\\n   let a = new Alfa(42)\\n\\n   a.increment(5)\\n   a.increment(-7)\\n   a.increment()\\n\\n   console.log(a.value)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"NaN\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"49\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Koden exekverar inte f\\xE4rdigt utan kraschar.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"41\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"41\")), mdx(\"p\", null, \"\\xC4ven denna kod g\\xF6r vad den \\xE4r avsedd att g\\xF6ra. Ett nytt objekt instantieras fr\\xE5n klassen Alfa. Dess egenskap \\\"value\\\" initieras till 42.\"), mdx(\"p\", null, \"Objektets metod, increment, anropas sedan tre g\\xE5nger och f\\xF6r\\xE4ndrar v\\xE4rdet av \\\"value\\\" till i tur och ordning:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"47\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"40\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"41\"))), mdx(\"h3\", null, \"F06-05: Vad skrivs ut?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"class Cat {\\n  constructor (name, age) {\\n    this.name = name\\n    this.age = age\\n  }\\n  tostring () {\\n    return `${this.name} is ${this.age} years old.`\\n  }\\n}\\n\\nconst myCat = new Cat('Dexter', 13)\\n\\nconsole.log(myCat.toString())\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined is NaN years old.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Dexter is 13 years old.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"[object Object]\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Runtime error.\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"[object Object]\"))), mdx(\"p\", null, \"Slamkrypare. Observera diskriptansen mellan \\\"tostring\\\" och \\\"toString\\\". Vi m\\xE5ste vara nogranna n\\xE4r vi skriver v\\xE5ra metodnamn. Anledningen till att utskriften blir den den blir \\xE4r att v\\xE5r klass Cat inte inneh\\xE5ller \\\"toString\\\". D\\xE5 f\\xF6ljer javascripttolken prototypkedjan upp till Object och k\\xF6r dess toString-metod.\"), mdx(\"p\", null, \"Testa att byta till toString i metoddeklerationen.\")), mdx(\"h3\", null, \"F06-06: Vad skrivs ut?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"class MyBank {\\n  constructor (deposits) {\\n    this.deposits = Array.from(deposits)\\n\\n  }\\n\\n  toString () {\\n    return this.deposits.join(', ')\\n  }\\n\\n  valueOf () {\\n    return this.deposits.reduce((sum, deposit) => sum + deposit, 0)\\n  }\\n}\\n\\nconst myBank = new MyBank([2500, -500, 3000])\\nconst myOtherBank = new MyBank([5042])\\n\\nconsole.log(myBank + myOtherBank)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"2500, -500, 30005042\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Runtime Error\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"10042\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"[object Object][object Object]\")))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"10042\")), mdx(\"p\", null, \"Ett kodavsnitt som \\xE5terigen g\\xF6r vad det \\xE4r t\\xE4nkt att g\\xF6ra. Passa p\\xE5 att l\\xE4sa p\\xE5 om valueOf som \\xE4r t\\xE4nkt att ge en v\\xE4rderepresentation av v\\xE5rt objekt. I v\\xE5rt fall ser vi till att valueOf representerar bankens \\\"saldo\\\", allts\\xE5 summan av alla \\\"deposits\\\" (ins\\xE4ttningar).\")));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#f06-01-vilket-av-påståendena-nedan-är-mest-korrekt","title":"F06-01: Vilket av påståendena nedan är mest korrekt?"},{"url":"#f06-02-vad-skrivs-ut","title":"F06-02: Vad skrivs ut?","items":[{"url":"#f06-03-vad-skrivs-ut","title":"F06-03: Vad skrivs ut?"},{"url":"#f06-04-vad-skrivs-ut","title":"F06-04: Vad skrivs ut?"},{"url":"#f06-05-vad-skrivs-ut","title":"F06-05: Vad skrivs ut?"},{"url":"#f06-06-vad-skrivs-ut","title":"F06-06: Vad skrivs ut?"}]}]},"parent":{"relativePath":"veckoanvisningar/kursvecka-06/utmaningar.md"},"frontmatter":{"metaTitle":"1DV025 | Utmaningar kursvecka 6","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/a2-beskrivande-statistik","title":"A2 - Beskrivande statistik"}}},{"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-b/b1","title":"B1 - Online-test"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-b/b2","title":"B2 - The Quiz app"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-b/b3","title":"B3 - PWD"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-b","title":"Delkurs B"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om","title":"Om examination"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/inlamning-via-mr","title":"Inlämning via Merge request"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/kom-igang","title":"Kom igång med en uppgift"}}},{"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/inspelningar","title":"Stödjande inspelningar"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-a/ovningar","title":"Övningar"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-b/inspelningar","title":"Stödjande inspelningar"}}},{"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/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/utmaningar","title":"Utmaningar"}}},{"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":"/veckoanvisningar/kursvecka-02/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/guide-nodejs","title":"Guide - Node.js"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/examinationsuppgift","title":"Guide - Examinationsuppgift"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/guide-jsdoc","title":"Guide - JSDoc"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03","title":"Kursvecka 3 - Styrstrukturer"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04","title":"Kursvecka 4 - Arrayer"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/utmaningar","title":"Utmaningar"}}},{"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-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/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/oversikt","title":"Översikt"}}},{"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-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":"/samlingar/delkurs-b","title":"Delkurs B"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13","title":"Kursvecka 13 - Komposition"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/utmaningar","title":"Utmaningar"}}},{"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/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/ovningsuppgifter","title":"Övningsuppgifter"}}},{"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-02/git-guider/00-om-git","title":"Introduction"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/resurser/inspelningar","title":"Inspelningar"}}},{"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-03/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/resurser/ovningar","title":"Ovningar"}}},{"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-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/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/resurser/ovningar","title":"Ovningar"}}},{"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":"/veckoanvisningar/kursvecka-17-19/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-b/ovningar","title":"Övningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/ovningsuppgifter","title":"Övningsuppgifter"}}}]}},"pageContext":{"id":"6e2c36b3-1d22-55f8-9263-b6d4937a4842"}},
    "staticQueryHashes": ["253607798","3706406642","710574383"]}