[S3L1] JS Functions, Scope, Arrays Flashcards
- function declarations - expressions - arrow functions
Was erlaubt eine Funktion Declaration?
- 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
Was ist eine Invokation oder ein Function Call?
-Das Aufrufen einer Funktion mit Argumenten
add(2,2);
Was macht return in einer Funktion?
- Gibt etwas aus dem Scope der Funktion zurück
- Ist das letzte, was in einer Funktion ausgeführt wird
Was ist besonders an Function Expressions / anonymen Funktionen?
- Sie können erst nachdem sie geschrieben worden sind invoked werden
- Sie haben keinen Funktionsnamen, sondern werden einfach in Variablen gespeichert
Wie sieht eine Function Declaration aus?
add(2,2);
function (add(num1,num2){ ... }
add(2,2);
Was ist besonders an Function Declaration?
-Sie können im Code schon vorher invoked werden und danach erst geschrieben sein
Wie sieht eine Function Expression/Anonymous Function aus?
let multiply = function(num1, num2){ ... }
multiply(2,2);
Was sind Eigenschaften von Arrow Functions in Javascript?
-Kürzerer Syntax
Sind Arrow Functions manchmal nicht nutzbar und falls ja wann?
Ja, sie sollten nicht immer genutzt werden.
- Event Handler (Außerhalb von Klassenkonstruktor)
- Objektmethode
- Prototype Methode
- Immer wenn man Arguments Object nutzt
Wie sieht eine Arrow Function aus?
let multiply = (num1, num2) => { return num1 * num2; }
Wie kann eine Arrow Function noch verkürzt werden vom Syntax?
let multiply = (num1, num2) => num1 * num2
- Entfernen Return Statement (Ist Default)
- Entfernen von Cruly Brackets
Wie sieht eine Immediately Invoked Function Expresseion (IIFE) aus?
let talk = (function () { return "I was invoked immediately!"; })();
console.log(talk);
Was ist das besondere an IIFE Functions?
- 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
Wie ist eine Variablen Deklaration aufgebaut?
var myVariable = ‘example’;
- Deklaration (var, let, const)
- Identifier (myVariableName)
- Assignment Operator (=)
- Value (Strings, Numbers, Objects/Functions)
Was ist die Deklaration bei einer Variablenzuweisung?
- var
- let
- const
Was ist der Identifiert bei einer Variablenzuweisung?
- Der Variablenname, der so beschreibend wie möglich sein sollte
- Muss mit einem kleinbuchstaben beginnen
- CamelCase und case-sensitive
Was macht die Deklaration var einer Variable?
- Scope auf Function Ebene
- Doppelte Identifiers/Variablennamen ERLAUBT!
- Wert ist mutable/veränderbar
Was macht die Deklaration let einer Variable?
- Scope auf Block Ebene
- Doppelte Identifiers/Variablennamen verboten!
- Wert ist mutable/veränderbar
Warum muss man mit var Variablen aufpassen?
-Doppelte Identifier/Variablennamen schmeißen keinen Fehler, das macht den Code sehr unübersichtlich
Was macht die Deklaration const einer Variable?
- Scope auf Block Ebene
- Doppelte Identifiers/Variablennamen verboten!
- Wert ist immutable/unveränderbar