JS Flashcards
En uppgift =
en funktion
Vad är nackdelen med att skapa funktioner inuti loopar?
Det använder mycket minne. Skapa funktioner utanför loopar.
Vad är JavaScript?
Ett mångsidigt programmeringsspråk som används för webbutveckling.
Vad är en variabel?
En behållare för att förvara data/värde
Hur deklarerar man en variabel i JavaScript?
Via nyckelorden var, let, eller const.
Vad är skillnaden mellan var, let, och const?
var har functionscope, let och const har blockscope.
constvariabler kan inte ändras efter att de deklarerats.
Vilka 8 datatyper har JavaScript?
number, bigint, string, boolean, null, undefined, object och symbol
Vad används typeof operatorn till?
Ta reda på datatypen av ett värde eller en variabel.
Kommentera i JavaScript?
// för enradiga kommentarer
/* */för flera rader
Vad är en funktion i JavaScript?
Ett block av återanvändbar kod skriven för att utföra en viss uppgift.
Hur deklareras en funktion?
Via nyckelordet function.
Vad är en function parameter?
En variabel som används för att skicka data in till en funktion.
Vad är ett return statement i en funktion?
Det specificerar värdet som ska returneras av funktionen
Vad är en villkorssats i JavaScript?
Villkorssatser, som if, else if, och else, gör att man kan villkora delar av kod.
Vad är en operator i JavaScript?
En symbol som används för att operera på variabler och värden.
Vad gör === operatorn?
Strikt equality. Både typ och värde.
Vad är en array?
En datastruktur som innehåller en samling värden.
Hur kommer man åt värden i en array?
Via index, startar på 0.
Vad är ett JavaScript object?
En samling key-value par.
Hur skapar man ett object i JavaScript?
{}
Eller constructor-funktioner
Vad är en JavaScript-loop?
Loopar, som for och while, kan exekvera kod upprepade gånger.
Hur kan man bryta en loop?
break
Vilket syfte fyller switch i JavaScript?
switch används för villkorade förgreningar baserat på ett värde.
Vad är en anonym funktion?
En funktion utan namn
vad är en callback function?
En funktion som skickas som argument till en annan funktion.
Vad betyder scope?
Var variabler och funktioner är åtkomliga i koden.
Vad är ett closure?
En funktion med åtkomst till sitt eget scope och den omgivande funktionens scope.
Vad är en event handler?
En funktion som svarar på händelser som click eller knapptryck.
Vad är asynkron programmering?
Asynkron programmering tillåter icke-blockerande exekvering av kod.
Vad är promises?
Objekt som representerar det eventuella resultatet av en asynkron operation.
Vad är nyckelordet this?
Det refererar till det nuvarande objektet. Ofta i metoder i ett objekt.
Vilket syfte fyller console.log() ?
Skriver output till konsolen för debugging.
Hur kan man definiera en iife?
( function () {…} )();
Hur aktiverar man ”modern mode” i JavaScript?
”use strict”
for…of
Loops over array or other iterable
for…in
Loops over object properties
Where can JS run?
Anywhere there’s a JS-engine
The three steps of executing JS?
- Engine parses script (where’s the optimization and JIT-compiling?)
- Converts to machine code
- Machine code runs, pretty fast
JS statements =
syntax constructs and commands that perform actions
Difference between statements and expressions
Statements = control flow, variable assignment etc.
Expressions produce values.
How to strict mode?
“use strict” at top of script OR use classes or modules
when to use const UPPER_CASE ?
Storing hard to remember values, known prior to execution.
3 things good variable names are ?
- clean,
- obvious and
- descriptive of the data they store
What is immutable code?
It contains no datastructures that can be modified
How to write immutable code?
Instead of modifying data, create new data with desired changes
Four rules for good variable names?
- Human readable
- No abbreviations
- Maximize descriptiveness + consicesness
- Be consistent, “newUser” implies “user”
What 2 bugs are related to typeof?
- typeof null returns Object
- typeof [any function] returns function (which isn’t one of the 8 types in JS)
What does unary + do?
Number conversion.
What does binary + do?
Sum numbers or concatenate strings (if one operand is string).
What’s an operand?
A value an operator is applied to.
How to give precedence to operators?
(expression to give precedence)
What’s the difference between n++ and ++n?
Postfix (n++) increments after returning n
Prefix (++n) increments before returning n
What 2 values shouldn’t be used in comparisons?
Null and undefined
When to use the ternary operator?
To return one value or another depending on one condition
When to use if statements?
To execute different branches of code
What does || do?
OR operator finds first truthy value and returns it
What does && do?
AND operator finds first falsy value and returns it
What does ! do?
NOT operator converts to boolean and returns the opposite !0 == true
Use case for !! ?
Double NOT, simple boolean conversion
What does ?? do?
Nullish coalescing, returns first defined value
Arity of reduce()?
- Callback for each element
- Starting point for final output
Arity of the callback in reduce()?
- Starting point by reference (like ‘sum’) after first iteration it refers to the result from previous iteration
- Current element