[S3L1] JS Functions, Scope, Arrays Flashcards

- function declarations - expressions - arrow functions

1
Q

Was erlaubt eine Funktion Declaration?

A
  • KANN INVOKED WERDEN BEVOR DIE FUNCTION DECLARATION DEFINIERT IST!
  • Erlaubt es Code in einem Scope auszuführen
  • Hält Daten im Speicher so lange bereits, bis die Funktion invoked wird
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist eine Invokation oder ein Function Call?

A

-Das Aufrufen einer Funktion mit Argumenten

add(2,2);

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

Was macht return in einer Funktion?

A
  • Gibt etwas aus dem Scope der Funktion zurück

- Ist das letzte, was in einer Funktion ausgeführt wird

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

Was ist besonders an Function Expressions / anonymen Funktionen?

A
  • Sie können erst nachdem sie geschrieben worden sind invoked werden
  • Sie haben keinen Funktionsnamen, sondern werden einfach in Variablen gespeichert
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie sieht eine Function Declaration aus?

A

add(2,2);

function (add(num1,num2){
...
}

add(2,2);

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

Was ist besonders an Function Declaration?

A

-Sie können im Code schon vorher invoked werden und danach erst geschrieben sein

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

Wie sieht eine Function Expression/Anonymous Function aus?

A
let multiply = function(num1, num2){
...
}

multiply(2,2);

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

Was sind Eigenschaften von Arrow Functions in Javascript?

A

-Kürzerer Syntax

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

Sind Arrow Functions manchmal nicht nutzbar und falls ja wann?

A

Ja, sie sollten nicht immer genutzt werden.

  • Event Handler (Außerhalb von Klassenkonstruktor)
  • Objektmethode
  • Prototype Methode
  • Immer wenn man Arguments Object nutzt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie sieht eine Arrow Function aus?

A
let multiply = (num1, num2) => {
return num1 * num2;
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie kann eine Arrow Function noch verkürzt werden vom Syntax?

A

let multiply = (num1, num2) => num1 * num2

  • Entfernen Return Statement (Ist Default)
  • Entfernen von Cruly Brackets
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie sieht eine Immediately Invoked Function Expresseion (IIFE) aus?

A
let talk = (function () {
return "I was invoked immediately!";
})();

console.log(talk);

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

Was ist das besondere an IIFE Functions?

A
  • Man invoked sie nicht, sondern man referenziert sie nur.
  • Daher spart man sich die () Klammern nach dem Namen und kann die Function alleine durch den referenzierten Variablennamen ansprechen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie ist eine Variablen Deklaration aufgebaut?

A

var myVariable = ‘example’;

  • Deklaration (var, let, const)
  • Identifier (myVariableName)
  • Assignment Operator (=)
  • Value (Strings, Numbers, Objects/Functions)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist die Deklaration bei einer Variablenzuweisung?

A
  • var
  • let
  • const
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist der Identifiert bei einer Variablenzuweisung?

A
  • Der Variablenname, der so beschreibend wie möglich sein sollte
  • Muss mit einem kleinbuchstaben beginnen
  • CamelCase und case-sensitive
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was macht die Deklaration var einer Variable?

A
  • Scope auf Function Ebene
  • Doppelte Identifiers/Variablennamen ERLAUBT!
  • Wert ist mutable/veränderbar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was macht die Deklaration let einer Variable?

A
  • Scope auf Block Ebene
  • Doppelte Identifiers/Variablennamen verboten!
  • Wert ist mutable/veränderbar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Warum muss man mit var Variablen aufpassen?

A

-Doppelte Identifier/Variablennamen schmeißen keinen Fehler, das macht den Code sehr unübersichtlich

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

Was macht die Deklaration const einer Variable?

A
  • Scope auf Block Ebene
  • Doppelte Identifiers/Variablennamen verboten!
  • Wert ist immutable/unveränderbar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Welche Deklarationsart einer Variable sollte man bevorzugen?

22
Q

Was ist der Unterschied zwischen Block Scope und Function Scope?

A
  • Ein Function Scope ist zulässig innerhalb einer Funktion

- Ein Block Scope ist z.B. nur innerhalb der Curvy Brackets innerhalb eines IFs in einer Function gültig

23
Q

Was sind globale Variablen und was sollte man dazu wissen?

A
  • Wenn man keine Deklaration nutzt wird eine Variable global
  • Wenn eine let Variable im Global Scope deklariert wird, wird diese ebenfalls global
  • Das sollte man immer vermeiden
24
Q

Was ist ein Object?

A
  • Eine fancy Variable
  • Kann viel mehr Daten beinhalten
  • Kann auch Functions beinhalten
25
Wie wird ein Object definiert?
``` const objName = { name: "value } ```
26
Woraus besteht ein Object?
-Aus Properties, welche ein Key/Value Pair sind
27
Kann man auf die Properties eines Objects zugreifen, indem man einfach seinen Namen referenziert?
- Ja | - console.log(objName) liefert den ganzen Inhalt des Objects
28
Wie kann man auf Properties eines Objects zugreifen?
- Mit der dot Notation - person.name - person.age
29
Wie sieht die Bracket Notation zum Zugreifen auf Properties eines Objects aus?
console.log(person["last name"]);
30
Wann benötigt man die Bracket Notation zum Zugreifen auf Properties eines Objects?
-Wenn der Key/Name der Property eines Objects komische Zeichen oder Spaces beinhaltet
31
Wie sieht ein Object mit Objectmethoden aus?
``` const student = { name: "Jane", age: 25, location: "United States", school: "Lambda School", study: function(topic) { console.log(`${this.name} likes to study ${topic}); } } ```
32
Wie invoked mak eine Objectmethod?
``` const student = { name: "Jane", age: 25, location: "United States", school: "Lambda School", study: function(topic) { console.log(`${this.name} likes to study ${topic}); } } ``` student.study("code");
33
Kann man außerhalb eines Objects dem Object neue Objectmethoden hinzufügen?
JA, man kann z.B. anonyme Funktionen einem Objekt zuweisen, obwohl es selber diese Function nicht besitzt student. play = function(activity) { console. log(`${this.name} loves to ${activity}`} }
34
Was sind Methoden, die ein jedes Object von selber mitbringt?
-Object.entries -Object.keys -Object.values -
35
Was macht Object.entries?
-Listet alle Keys und Values des Objectes auf
36
Wie greift man nur auf das n-te Key-Value Pair eines Objects zu?
Object.entried(student)[1]);
37
Was sind Arrays?
- Spezielle Objekte mit speziellen Value/Pairs - Unter der Haube sind sie Objecte, werden jedoch besonder von JS behandelt - Haben eine Ordnung - Beginnen bei Index 0 - Sind mutable/veränderbar
38
Wie greift man auf Arrays zu?
const hogwarts = {'Harry', 'Hermione', 'Ron']; hogwarts[0] === 'Harry';
39
Wie fügt man etwas hinten an ein Array hinzu?
hogwarts. push("Dumbledore"); | - Fügt das Element hinten an das Array
40
Was fügt man etwas vorne an ein Array hinzu?
hogwarts. unshift("Snape"); | - Fügt das Element vorne an das Array
41
Wie kann man Items vom Ende eines Arrays entfernen?
- hogwarts.pop(); | - Entfernt das letzte Item aus dem Array und gibt es zurück
42
Wie kann man Items vom Anfang eines Arrays entfernen?
- hogwarts.shift(); | - Entfernt das erste Item aus dem Array
43
Was macht die Array-Function .splice(1,1) ?
- Gibt an welches Item an welchem Arrayindex entfernt werden soll und wie viele Items danach ebenfalls - splice(1,1) sagt also entferne an Index 1 nur das eine Item. - Liefert das Element zurück z.B. in eine Variable - Verändert das Array
44
Wie kann man ein Array Item updaten und einem neuen Wert zuweisen?
- array[2] = "Test", | - Durch Zuweisung
45
Was sind Eigenschaften eines Arrays?
- Das Abfragen der Werte ist sehr schnell (Time-Complexity) - Alle Arraymethoden kommen aus JS Array Prototype - Ein Item in einem Array zu suchen kann so lange dauern wie das Array lang ist - Arrays sind mutable
46
Wie schreibt man einen Array als Literal?
const facThings = [];
47
Wie erhält man die Länge eines Arrays?
stringArray[stringArray.length -1]
48
Gibt es wesentliche Unterschiede zwischen "", '' oder ``?
- Nein, man sollte sich nur konsequent für eines entscheiden | - `` wird für String Interpolation genutzt
49
Wie kann man in einem Console.log String dazuschreiben?
-console.log('string_here', variable);
50
``` Was ist let aCat = 'godzilla' aCat = {name: 'fluffykins'} ```
- Object | - Key/Value Pair
51
Was sind die Vorteile für den Compiler/Runtime wenn man die Deklaration const nutzt?
-Der Compiler weiß, dass es nicht wieder neu zugewiesen werden kann und daher kann er die Daten performanter handlen
52
Wann ist eine Function eine Method?
-Wenn sie in einem Object ist heißt sie Method.