Funktionen
OOP & Module
Operatoren
Async
Funktionen 2
100

fn.call(desiredThis, arg1, arg2) fn.apply(desiredThis, [arg1, arg2])

Wie rufe ich eine Funktion mit einem gewünschten this-Kontext und gewünschten Argumenten auf?

100

class Person {
  constructor(name) { this.name = name } }

Definiere eine Klasse mit einer öffentlichen Eigenschaft.

100
let [vorname, nachname] = "Hans Muster".split(' ')
Wie kann ich aus dem String "Hans Muster" in einem Statement/Befehl/Zeile die Variablen vorname und nachname abfüllen?
100

await fetch('http://localhost:800')

Wie warte ich auf die Antwort von http://localhost:8000

100

const fn = (...ns) => ns.map(i=>i*i)

Definiere eine Funktion, welche eine alle ihr übergebenen Argumente quadriert.

200
(...args)=>{}
Wie fasse ich in der Funktionsdeklaration mehrere Laufzeit-Argumente zu einem Array zusammen?
200

Exportiere und definiere die Konstante PI.

export const PI = 3.141592653

200
!!a
Wie wandle ich einen Wert in einen Boolean um?
200

Finde den Fehler:

async loadAll(){ 

  const result = fetch('domain.com') 
  return result.json() 

await vor fetch fehlt

200

const [, ...a] = document.querySelectorAll('a')

Speichere alle, bis auf den ersten, a-Tag eines HTML Dokuments in einem Array.

300

((...nums) => nums.filter(_=>_>0))(0,1,2,3,"", "3", {2:1})

Ausgabe: 1,2,3,"3"

Definiere eine Funktion, welche von all ihren Argumenten, nur diejenigen retourniert, welche als Zahl interpretiert grösser 0 sind.

300

import { Person } from './person.mjs' console.log(new Person())

Importiere die Klasse Person aus dem NodeJS Modul person.mjs.

Erstelle eine Instanz und gib diese auf der Console aus.

300
[a, b] = [b, a]
Wie kann ich zwei Variabel-Werte swappen/tauschen?
300

Was ist die Ausgabe von:


let i;
for (i = 0; i < 4; i++) { 
    setTimeout(() => { 
       console.log(i) 
    }, 2000)
}

4, 4, 4, 4

300

Optimiere (reduziere auf eine Zeile / Semikolon):

const x = [] document.querySelectorAll('a').forEach(a => x.push(a.id))


const x = Array.from(document.querySelectorAll('a')).map(a => a.id)

400

_=>_

Kürzeste Variante eine Funktion zu definieren in JavaScript.

400

<script type=module src=app.js />


Wie füge ich app.js meinem HTML hinzu, damit:

1. Abhängige Module automatisch nachgeladen werden 

2. Die Ausführung des Skriptes erst nach DOMContentLoaded stattfindet.

400
for in
Welche for Schleife iteriert über alle enumerierbaren Eigenschaften eines Objektes inklusive Prototypen-Kette?
500

a => b => a+b

Definiere eine Funktion, welche eine Funktion retourniert, welche die ersten Argumente der beiden Funktionen addiert und retourniert.

500

{ do() {console.log(1)} }

oder

new class X { do() { console.log(1) } }

Definiere ein Objekt mit einer Methode do, welche beim Aufruf 1 ausgibt.

500

const { name, meta: { alter: age } } = person

Extrahiere den Wert person.meta.alter und speichere ihn in der Variable age, sowie person.name in der Variable name. Verwende nur ein Statement!

M
e
n
u