[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?

A

-const

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
Q

Wie wird ein Object definiert?

A
const objName = {
name: "value
}
26
Q

Woraus besteht ein Object?

A

-Aus Properties, welche ein Key/Value Pair sind

27
Q

Kann man auf die Properties eines Objects zugreifen, indem man einfach seinen Namen referenziert?

A
  • Ja

- console.log(objName) liefert den ganzen Inhalt des Objects

28
Q

Wie kann man auf Properties eines Objects zugreifen?

A
  • Mit der dot Notation
  • person.name
  • person.age
29
Q

Wie sieht die Bracket Notation zum Zugreifen auf Properties eines Objects aus?

A

console.log(person[“last name”]);

30
Q

Wann benötigt man die Bracket Notation zum Zugreifen auf Properties eines Objects?

A

-Wenn der Key/Name der Property eines Objects komische Zeichen oder Spaces beinhaltet

31
Q

Wie sieht ein Object mit Objectmethoden aus?

A
const student = {
name: "Jane",
age: 25,
location: "United States",
school: "Lambda School",
study: function(topic) {
console.log(`${this.name} likes to study ${topic});
} }
32
Q

Wie invoked mak eine Objectmethod?

A
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
Q

Kann man außerhalb eines Objects dem Object neue Objectmethoden hinzufügen?

A

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
Q

Was sind Methoden, die ein jedes Object von selber mitbringt?

A

-Object.entries
-Object.keys
-Object.values
-

35
Q

Was macht Object.entries?

A

-Listet alle Keys und Values des Objectes auf

36
Q

Wie greift man nur auf das n-te Key-Value Pair eines Objects zu?

A

Object.entried(student)[1]);

37
Q

Was sind Arrays?

A
  • 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
Q

Wie greift man auf Arrays zu?

A

const hogwarts = {‘Harry’, ‘Hermione’, ‘Ron’];

hogwarts[0] === ‘Harry’;

39
Q

Wie fügt man etwas hinten an ein Array hinzu?

A

hogwarts. push(“Dumbledore”);

- Fügt das Element hinten an das Array

40
Q

Was fügt man etwas vorne an ein Array hinzu?

A

hogwarts. unshift(“Snape”);

- Fügt das Element vorne an das Array

41
Q

Wie kann man Items vom Ende eines Arrays entfernen?

A
  • hogwarts.pop();

- Entfernt das letzte Item aus dem Array und gibt es zurück

42
Q

Wie kann man Items vom Anfang eines Arrays entfernen?

A
  • hogwarts.shift();

- Entfernt das erste Item aus dem Array

43
Q

Was macht die Array-Function .splice(1,1) ?

A
  • 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
Q

Wie kann man ein Array Item updaten und einem neuen Wert zuweisen?

A
  • array[2] = “Test”,

- Durch Zuweisung

45
Q

Was sind Eigenschaften eines Arrays?

A
  • 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
Q

Wie schreibt man einen Array als Literal?

A

const facThings = [];

47
Q

Wie erhält man die Länge eines Arrays?

A

stringArray[stringArray.length -1]

48
Q

Gibt es wesentliche Unterschiede zwischen “”, ‘’ oder ``?

A
  • Nein, man sollte sich nur konsequent für eines entscheiden

- `` wird für String Interpolation genutzt

49
Q

Wie kann man in einem Console.log String dazuschreiben?

A

-console.log(‘string_here’, variable);

50
Q
Was ist let aCat = 'godzilla'
aCat = {name: 'fluffykins'}
A
  • Object

- Key/Value Pair

51
Q

Was sind die Vorteile für den Compiler/Runtime wenn man die Deklaration const nutzt?

A

-Der Compiler weiß, dass es nicht wieder neu zugewiesen werden kann und daher kann er die Daten performanter handlen

52
Q

Wann ist eine Function eine Method?

A

-Wenn sie in einem Object ist heißt sie Method.