[S9L2] Immutability, Object Assign Flashcards

1
Q

Wie ist der Workflow eine Redux App zu bauen?

A
  • Reducer
  • Store
  • Components/UI
  • Buttons
  • Actions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist eine pure Function?

A
  • Eine Function, welche predictable ist und deterministische bei gleichem state Object und Action immer das selbe Ergebnis herausgibt.
  • Es ist von nichts außerhalb des eigenen Scopes abhängig.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was macht connect()?

A

connect binds dispatch and actions to the reducer and to the component

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was macht createStore?

A

createStore connects the reducer to the store

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist Immutability?

A

-Unveränderbarkeit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Ist Redux auf dem Prinzip von Immutability aufgebaut?

A
  • Ja, der Store ist immer immutable.
  • Daher kann es keine komischen Seiteneffekte zum Store/State der Applikation geben
  • Man tauscht mit den Reducern jeweils den vorherigen State komplett gegen einen neuen Zustand aus.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Warum ist Immutability eine gute Idee für Redux?

A
  • Predictable State Management Machine, verhindert Seiteneffekte von Änderungen an der Applikation
  • Mental Modell ist einfacher im Kopf zu behalten und wie sich der State ändert
  • Veränderungen/Mutations werden getracked, da die Components immer direkt durch neue Props mit updaten und Views neu rendern
  • Besonders bei großen Applikation ist dies von Vorteil
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Ist der Redux Store auch nur ein Object?

A

Ja

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Arten von Datentypen gibt es in JavaScript?

A
  • Primitive Types(number, string, boolean, object)
  • Reference Types (Ein Object das auf ein anderes Object mit Referenz zeigt)
-const myObj = { name: "Sascha" };  //primitive
const newObj = myObj //reference
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie kann man in JavaScript Immutability umsetzen?

A

-Mit assign

const newObject = Object.assign([}, myObject, [age: myObject.age +1 });

//Zuerst das Object was aus der Function als frisches neues Object returned wird
//Dann das Object was kopiert werden soll
//Dann die Changes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie kann man ein immutable Object in JavaScript updaten?

A

-Indem man es durch ein neues ersetzt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was sind die Vorteile wenn man Object.assign benutzt um Immutability zu erzeugen?

A
  • Das alte Object bleibt unverändert

- Es können keine unerwarteten Seiteneffekte auftreten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie kann man Arrays in Objects mit Immutability in JavaScript behandeln?

A

const newObject = Object.assign([}, myObject, [age: myObject.scores.concat(50});

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Welche Array Methoden erzeugen keine Seiteneffekte, da sie Immutable arbeiten?

A
  • Filter
  • Map
  • Concat
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was macht dispatch?

A

-Called den Reducer direkt

-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie kann man den Spread Operator nutzen um die Array Concat Function zu substituieren?

A

const evensThenOdds = {…myEvens, ….myOdds]

17
Q

Was ist eine Finite State Machine?

A
18
Q

Wie kann man eine Drehschranke als Finite State Machine beschreiben?

A
  • Hat zwei Zustände: Lockedund Unlocked

- Hat zwei Aktionen: Coin einfügen und Push

19
Q

Wie kann die Finite State Machine in Software angewandt werden?

A
  • Kann dabei helfen Systeme zu entwerfen, welche vorraussagbare und nachvollziehbare Zustände besitzen
  • Damit können Seiteneffekte und Fuzzy Logiken verhindert werden
  • Alle Sonderfälle werden bereits durchdacht und behandelt.