# Js - Programmera med javascript
```
author: krm
created: 2020-01-09
image: /image/courses/cup-of-coffee.png
status: alpha
icon: ☕️
```

# 1. Intro

Nedan är diverse länkar som kan fungera som ett alternativ till detta upplägg.

- 🔗 [Coding train](https://www.youtube.com/user/shiffman)
- 🎥 [Snake spel](https://www.youtube.com/watch?v=AaGK-fj-BAM)
 - [Om att lära sig saker]()

# 2. Ord

- Terminologi - Förklaring av ord.
- Kod block - {}
- Radslut med semikolon - ;
- Paranteser - ()
- Kommentarer // eller /* */
- 🔗 [Paranteser och andra tecken](https://docs.google.com/document/d/1smxIpBAW8PpJc-zwS1jojDzH5gHVhFynl5JQkXf6Bzo/edit?usp=sharing)
- 🎥 [Space vs. tabs](https://www.youtube.com/watch?v=SsoOG6ZeyUI)
- [Om att lösa frågor]().
- ❓ [Frågor om vanliga ord](/a/programing/js/introduction/Questions/words.sv.html)

# 3. Tolka

- Utryck
- Värde
- Anvädna en funktion.
- Öppna en tolk i en webbläsare.
- ❓ [Frågor om att få världen](/a/programing/js/introduction/Questions/calling.sv.html)

# 4. Datatyper

- byte
- String
- Number
- Boolean
- undefined
- null
- ❓ [Frågor om datatyper](/a/programing/js/introduction/Questions/type.sv.html)

# 5. Variabler

- deklarera
- tilldela
- let
- const
- var => undvik
- "use strict"
- konvertera datatype
- 🖋 [Exempel](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvEAXwvW10QICsEqdBk2J5YxAASMAHsQD6xDFAkBeCQB0QAJi2aA3OrRC4tWPii0A5gAoZ8xVADUARgCUBtOKlLVEgHIArlgARjAATrYwsgpK7obGpjDmVrZKLu6UIHAwsNTEEPQIPADMiM4A7GwcIJg4ePjUcAI09IzMPGwAuqxAA)
- 🖋 [Exempel2](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvEAXwvW10QICsEqdBk2J4AOiACucGAAI4xAE4RqxCWLQbgG2MVkZZAXlkAmANwaAbhkWzqR2QDZnFtEIWyARkYDMrjIYA7K6sGjowegZBru563sYADDH0cLSw+FC0AOYAFBgAlMloqemZuZ6FGu5pMBnZOdSFlCAysKoQKXgAjCaIPWwcIJg4ePjUcAI09IzMPGwAuqxAA)
- ❓ [Frågor om Variabler](/a/programing/js/introduction/Questions/variable.sv.html)

# 6. IO

- input
- output
- prompt;
- console.log;
- console.error;
- Glöm inte typomvandling!
- Testning
- 🖋 [Exempel 0](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvEAXwvW10QICsEqdBk2J5YxAASYcEgLwSADgCdaWBcQAUAHRAA1GFgkATpRIAmAVwD8OgJQBuLWidC4tWPii0A5hukwHShA4GFhqYgh6BB4ABkQAZhiAWjiARgAONg4Qfzx8ajgBGnpGZh42AF1WIA)
- 🖋 [Exempel 1](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QspQABFDzaAvNoByEJgCMEAJwAUAByswmdqDYA6IAOIJtTMgHNtBCgdPSQAfg8ASiiAbjd6BK1dAA8dIzDtAGptAEZ4+iF6fBhKdmtHWyg0uP4QQkoBKDJhagUABkwAFi6AWk72qRkQRhY2dgF8FRAi9SgJSQBdSSA)
- 🖋 [Exempel 2](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QspQABGG0BebQDkITAEYIATgAoADpZhNbUawB0QAcQTamZAObaCFA6AILuAJThANyu9EL0+DCU7FYONmDRsVraZgbGphY29o7Obp7evgFBOgBCEZlxwonJqTA2Zg3ZAnkm5lZ2Dk4u7l4+-oHB2gDC9TGNCUkIKZZp1gINWUHaUAAeOoZgAFQAjAAMp9oA1Dknp5cCc-HNS602u1DR-CCElAJQZE02MdMMcAMxSGQgRgsNjsAT4FQgeLqKASSQAXUkQA)
- 🖋 [Exempel 3](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QspQABIxbaAvNoA6IALJgA5vQj5TAbmP0nQ+vhiV2KSwApTACQRFExAASkd6V3dPbx89BHCXYWiELxhfUwBCU0Tnei1tACcqCCQdIwCgkO0Aal05WqyHJLcPVNji-FKocP4QQkoBKDJktgA2TAAmSakZEHi2dgF8FRBXdSgJSQBdSSA)
- ❓ [Frågor om IO](/a/programing/js/introduction/Questions/io.sv.html)

# 7. Verktyg

- Visuai studio code
- 🔗 [Flems](https://flems.io/)
- [Inlämning av uppgifter](/kaos/Courses/webbutveckling-1/Tutorial/make-a-submission-of-programing.sv.html)

# 8. Källkod

- [Om att lösa övning uppgifter]().
- 💚 [E3](/p/e3/), [VE33](/p/ve33/), [VE22](/p/ve22/), [VE23](/p/ve23/)
- 🔷 [E13](/p/e13/), [E23](/p/e23/), [E52](/p/e52/), [E53](/p/e53/)
- ⬛ ![H11](/p/h11/), ![H22](/p/h22/)

# 9. Struktur

- ❓ [Frågor om strukturen](/a/programing/js/introduction/Questions/structure.sv.html)
- 💚 [VE1](/p/ve1/), [VE11](/p/ve11/), [E32](/p/e32/), ![E11](/p/e11/)
- 🔷 [E2](/p/e2/), [VE21](/p/ve21/), [E1](/p/e1/), ![E21](/p/e21/)
- ⬛ [N41](/p/n41/), ![VH11](/p/vh11/)

# 10. Beräkningar

- Beräkningar!
- % - resten
- Exempel med slumptal för att simulera en tärning.
- Vanliga beräkningar.
- ❓ [Frågor om beräkningar](/a/programing/js/introduction/Questions/math.sv.html)
- 💚  [VE4](/p/ve4/), [VE14](/p/ve14/), [E14](/p/e14/), [E24](/p/e24/)
- 🔷 [E34](/p/e34/), [N34](/p/n34/), [N14](/p/n14), [N64](/p/n64) 
- ⬛ [N44](/p/n44/), ![VH32](/p/vh32/)

# 11. Logik

- Jämförelser - sant om jämförelsen är sann.
- &gt;, &lt;, &lt;=, &gt;=
- Använd rätt = (tilldelning) eller === (jämförelse)
- Undvik ==
- Olika är !==
- Logiska operator
- || - eller
- && - och
- ! - inte
- Inte ett &, Tex 5 & 12 blir 4.
- Villkor - Sätt ihop jämförelser med logiska operatorer
- ❓ [Frågor om logik](/a/programing/js/introduction/Questions/conditional.sv.html)
- 💚 [VE45](/p/ve45/), [E44](/p/e44/), ![E4](/p/e4/), ![E74](/p/e74/)
- 🔷 [E84](/p/e84/), [E44](/p/e44/), ![E24](/p/e24/), ![E24](/p/e34/) 
- ⬛ [H5](/p/h5/), [H15](/p/h15/)

# 12. Vilkor

- Att kunna välja väg är centralt
- Kan också kallas grenar(“branch”)
- if
- else
- 🖋 [Enkel exempel om att säga ja](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QqH18UAARhtAdwQAnXQF5dABxMwmVqAAoAOiADKAE4DmuxWACErgCUANzO9OFk2I4G+MZm5om6rn7BusDhurpa+DCU7CheLiAAQiYBweGSusiE6ZnZwrn5hcUAcgiKgSChVfwghJQCUGRNbABsmACMALQADJhzUjIgjCxs7AL4KiBa6lASkgC6kkA)
- 🖋 [En if-sats med tal](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QqH18UAARhtAdwQAnXQF5dAOQhMARqYAUABxMwmzqI4A6IAOIIukxkAOa6CFB6UHi6OgBvJiaBACf0ugAsAIS+AJQ5ANze9EVk2I4G+MZmAHwZObrARbq6WvgwlOwoIT4gAEImYLlFkuEEgY1pLcJtHV09ANLuuqFimboAygCnsQBumyZ6yWZoEcsiCNkgBcP8IISUAlBk02wAjJgADFIyIIwsbOwBPgVCAtOooBJJABdSRAA)
- 🖋 [Testa ett lösenord](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QspQABGHr4A7ggBO2gLzaADsZhNLUABQAdEAHEyANwTaWu7QHJLMHxDGGM0fxcASgBuJ3p4smwHPUMTczMLFyCQgzC0aO1geO1tIX0YSnYUAHNnEABlKjltMnxtGEsxaLj6SW1kQiKSsuF8SoRqmDqXAHUbehqAQh74yXj48vGq2vqAIwBPBBWQKP4QQkoBKDIxtgAGTABme6kZEEYWNnYBEPPy9RQCSSAC6kiAA)
- ❓ [Frågor om vilkors-satser](/a/programing/js/introduction/Questions/if.sv.html)
- 💚 [E25](/p/e25), [E35](/p/e35), [E5](/p/e5), [E45](/p/e45)
- 🔷 [E55](/p/e55), [N15](/p/n15), [N35](/p/n35), [N45](/p/n45)
- ⬛ [N4](/p/n4/), [H4](/p/h4/)

# 13. Mer om vilkor

- else if
- 🖋 [If-sats med NaN](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QqH18UAARhtAdwQAnXQF5dAOQhMARqYAUABxMwmzqI4A6IAOIIukxkAOa6CFB6UHi6OgBvJiaBACf0ugAsAIS+AJQ5ANze9Fr4MJTsKCGOBvjGJjlFZNjVRqa6AHwZObrARbq6JWUIFTBVvgBCJmC5RZLhBIFNjjb2puxk+FZgVi21pnk9fQPCpeWVPiAAIhG62Mlm97pkIina4ZG60UjZIAWz84RDmljtohiMxiAANLuJ4hMSZXQAZQAp7EAG7Ikx6R5oG7PUQ-P70ST8ECESgCKBkE5sACMmFpAE4ALT0gAMUhkIEYLDY7AE+BUIC06igEkkAF1JEA)
- 🖋 [Att säga ja på flera sätt](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QqH18UAARhtAdwQAnXQF5dABxMwmVqAAoAOiADKAE4DmuxWACErgCUANzO9OFk2I4G+MZm5om6rn7BusDhurpa+DCU7CheLiAAQiYBweGSusiEulExRqYWSa4AUmBpGfRZOXkIBTBFrmUVIEFVNQQI9dGx8S2WrgCeVF2Z2cK5+YXFo4Hjk7UzDfPNiUsgAJpr4+kbfTtDe+UHE-TVx-c9m9r9g8MQAA5BCKN5hD78ECESgCKBkLZsACcmAAjAAWKQyECMFhsdgCfAqEBadRQCSSAC6kiAA)
- 🖋 [En förenkling utan if-else](https://flems.io/#0=N4IgtglgJlA2CmIBcB2AnAOgMxoDQgEMBXAFwHsAleWMgqZAMwNgGd58GIEXkBtUAHYEwiJCAwALEmFgh8AYzICS8ZchAgAvrkHDR4gFY8FSlWrGKBLEgAICVgO7wATjYC8NgA7OyYTyQAKAB0QAGUAE4BzGwMCAEIQgEoAbiCBNIgGAPsWJ1c3ApsQ2JCbAB8yu0cXd0KQgCkCUoqq3JqCjxCAT3gWZsqcvNrOkABNXqSbYDSbG0sWMgQMGkjgkAAhZ3iktM0bajYpmbmlBaWVtYA5eAMEkBTduRA2BHkSCFP1LCQsLR0QIQidQYeQsYwgSxmEjqLQAXU0QA)
- 💚 [VE5](/p/e5), [VE15](/p/ve15), [E15](/p/e15), [N74](/p/n74)
- 🔷 [E75](/p/e75), [N15](/p/n15), [N45](/p/n45), [N65](/p/n65)  
- ⬛ [VH4](/p/vh4/), [VH5](/p/vh5/)

# 14. Loopar

- repetition av kod
- ej goto - ger oss spagetikod.
- for
- 🖋 [Exempel](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QuwwATgApKUAARlDAXkMAGANzHDAHkMBGa8YDUrgJSHgAHXqHDIXp8GEp2FABzXQAmACoyDys-SX4QQkoBKDJhagVHTEcAVikZEEYWNnYBfBUQIPUoCUkAXUkgA)
- 🖋 [Exempel 2](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QuwwATgApKUAARlDAXkMBWANzHDAHnMBGa8YDUrgJSHgAHXqHDIXp8GEp2FABzXTIPKz9JfhBCSgEoMmFqBQAGTEcATikZEEYWNnYBfBUQIPUoCUkAXUkgA)
- 🖋 [Exempel 3](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvEAXwvW10QICsEqdBk2J4wtAE4AKWMQAEEOQF45AJgAMAbgVyAfCoCMAVm0QlEALQGAlHOAAdNHLlC4tWPii0A5lIjXNR1ZKEDgYWGpiCHoEHnVEAGZ1Ng4QTBw8fGo4ARp6RmYeNgBdViA)
- while
- 🖋 [Exempel 4](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QspQABGW0BebQBYADAG4AOvQDunCggAUegHzaAjCYCU24Fe3ahenwYSnYUAHMnT0t6fzJ9MgBaACYYyX4QQkoBKDJhagUAZkwADkTitykZEEYWNnYBfBUQQPUoCUkAXUkgA)
- 🖋 [Exempel 5](https://flems.io/#0=N4IghgrgLg9gSgUwDYzAExALgGZiQZwQBoRsBLJBfLAbVADswBbBLEAOgAsomkQSAxjHpQEItiAC+RBs1aYOAK2qDho8QspQABNoDy2gLzbgAHXq6ymbQAYi53fQQAPKNewR6AqGWEAKAEoTB10oTjJ8djIAamiAbhDtACcEKAgkizCIqO0AHm0ARhsE+klzMvpzAHdwyj89didXQKCzC20henwYSnYUAHN6qICSyX4QQkpvXy62IswCgFobTBspGRBGFjZ2AXwVEE71KAlJAF1JIA)
- ❓ [Frågor om for-satser](/a/programing/js/introduction/Questions/for.sv.html)
- 💚 [VE6](/p/ve6), [E6](/p/e6), [E46](/p/e46)
- 🔷 [E66](/p/e66), [N16](/p/n16), [N26](/p/n26)
- ⬛ [H6](/p/h6), [H25](/p/h25)

# 15. Mer om loopar

- Vi kan ha if-sater i loopar
- 🖋 [Exempel](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvEAXwvW10QICsEqdBk2J4wtAE4AKWMQAEEALwAGANwK5AHgCMytXIUBqQwEo5wADpoDEMFIgBSbQCY5i93OVnL1g3KFwtLD4ULQA5vYmqlYGrFaslCBwMLDUxBD0CDzOiADsbBwgmDh4+NRwAjT0jMw8bAC6rEA)
- break - stopar en loop.
- 🖋 [Exempel 2](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvEAXwvW10QICsEqdBk2J4wtAE4AKWMQAEEALwBGANwK5AHmUAGHeoUBqQwEo5wADpo5CsFIgBSZQCY5i93J1nL1m3KFwtLD4ULQA5vYmqlZ+cgBGEjAYANbRvqxWrJQgcDCw1MQQ9Ag8AKyIygC0Oog6bBwgmDh4+NRwAjT0jMw8bAC6rEA)
- Använda variabler i loopar
- 🖋 [Exempel 3](https://flems.io/#0=N4IgtglgJlA2CmIBcBOATAOgBxoDQgDMIEBnZAbVADsBDMRJEDACwBcxYR8BjAeytbwByECAC+uanQZMAVmR79BwxgB0q6hKwAENATVjaAvNoCMABksBuTfB3NZvZrwD6JAK5hj28zapbtKl5g1w8vE19be3hZN09vSI0qAl4AJwAKAIgEq21sgB5dfVhciABqMoBKbWAo3W8AWRpWZgxUvSheMHTKgCoLPwCAIxMmlraOrp7+xIgCdJptQqxtADJV7SGl7Sxq2qptbQcnUM8Kv0OAeku+KhJeBAxYXgBzdNUQAAlHZw-KvzE2ngsBI8Dy80Wyz26kOQRCcTA5xh2mut3uj2ebw+ADkAPL4gCEfwBQJBYP2h2YMQRSIOKJu-HR8Cer3eXxiRJA-3UYh56nUaIezMxbO+J20BFS8AA1gA3IQkJDaD7aMraMatVK8dxUKDpY7OBGXPSsAwzczVMofACkxIFjKFLKxIGxIV4EqlcoVSpVao1bW1uvScOCRpNZosFtVNrtVEFGNZH0+MQ9MvldyVh196uamsDeqpsTCxuK5stMa5Vi4IFBCG4rAgjJEaCQpgAbOJJCBaPQRBhuCQFCBbspWCJxABdMRAA)
- 💚 [E56](/p/e56), [E16](/p/e16)
- 🔷 [E36](/p/e36), [N6](/p/n6), [N75](/p/n75), [N76](/p/n76)
- ⬛ 🎖️[H12](/p/h12), [H13](/p/h13)

# 16. Felsökning

- Läsa felmeddelanden.
- Övningar
- Om felhantering

# 17. Blandade uppgifter

- ❓ [Blande frågor](/a/programing/js/introduction/Questions/mixed.sv.html)
- 💚 [VE23](/p/ve23), [VE43](/p/ve43), [E24](/p/e24), [E15](/p/e15)
- 🔷 [N55](/p/n55), [N65](/p/n65), [N17](/p/n17), [N75](/p/n75)
- ⬛ [H14](/p/h14), [H23](/p/h23)

# 18. Mer blandade uppgifter

- 🔗 [Extra uppgifter och några exempel](https://docs.google.com/document/d/14tibMU0dtN1T9z2Kd--87lQkuBWTH7x1r7sI3sXcK3Q/edit?usp=sharing)
- ❓ [Svårare frågor](/a/programing/js/introduction/Questions/hard.sv.html)
- 💚 [VE17](/p/ve17), [E33](/p/e33),  [E63](/p/e63/), [E73](/p/e73/)
- 🔷 ⚠️[N22](/p/n22/)
- ⬛ 🎖️[VH3](/p/vh3)

# 19. Ännu mer blandade uppgifter

- 💚 
- 🔷 
- ⬛ 


# 20. Alternativ

- W3Schools
- MDN
- Stack Overflow
- Khan academy
- 🔗[Programmera i js](https://www.khanacademy.org/computing/computer-programming)
- 🔗 [spelprogrammering.nu](http://spelprogrammering.nu)
- 🔗 [Youtube](https://www.youtube.com/watch?v=mvLdugZHHL8)
- 🔗 [Programmeringsproblem](https://htsit.se/p)
- [Introm bok om programmering, vi gör kapitel ett här.](https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/up%20&%20going/README.md#you-dont-know-js-up--going)

# 20. Exempel med Expersystem

Gå igenom denna guide och lämna in.

- [Guide till expertsystem](https://htsit.se/a/programing/js/Tutorials/create-a-simple-expert-system.sv.html)

# 21. Uppgifter som har utgått

Dessa uppgifter har utgått för de går inte att göra test till dem.

- [VE12](/p/ve12/), [VE2](/p/ve2/), [VE12](/p/ve12/), [VE32](/p/ve32/)
- [E21](/p/e21/), [E31](/p/e31/)

# 22. Uppgifter om slump

Dessa kommer komma i nästa avsnitt.

- ❓ [Om object](/a/programing/js/introduction/Questions/object.sv.html)
-  [N13](/p/n13)
- 🖋 [Exempel](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvEAXwvW10QICsEqdBk2J5YxAAQYJAXgkBZDMUL4AThjQATWlgAUASgBUARgAMAbgA6aaxDC7pAHgkAWfRODWJEoXFqx8KFoAc11LEAAJXlpCWnD9a1YJGCg4GA8vH3o-AKDQ8IiYXgBCeMTKEDTYamIIbLwANkRjNg4QTBw8fGo4ARp6RmYeNgBdViA)
- 🖋 [Exempel2](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvEAXwvW10QICsEqdBk2J5YxAAQYJAXgkBZDMUL4AThjQATWlgAUASgBUARgAMAbgA6acRIBGcxcrUbteo2atprEMLukAPBIAHBIAZGH2EkHB+hLA1hISQnC0sPhQtADmupYgABK8tIS0efrWrBIwUHAw8YnJ9KnpmTl5+TC8AIRlFZQgtbDUxBBNeADsiMYAtKaIpmwcIJg4ePjUcAI09IzMPGwAuqxAA)
