Antwort an „Christian Schubert“ verfassen

Hallo,

fürchte ja mittlerweile, dass es für mein Anliegen tatsächlich keinen optimaleren Weg gibt, aber vielleicht kann ja doch jemandem eine andere Betrachtungsweise beitragen:

Methoden von Objekten lassen sich ja wunderbar nach dem Muster func1().func2().func3() zusammenketten, (solange jedes Glied der Kette this zurückgibt).

...lässt sich das irgendwie auch außerhalb von Objekten replizieren?

(spreche hier nicht von higher order function wie map, filter, reduce, etc, die von Arrays aufgerufen werden können, die wiederum ja auch nichts anderes als Objekte sind).

function addOne(param) {
	return param + 1;
}
function timesTwo(param) {
	return param * 2;
}
function minusSeven(param) {
	return param - 7;
}

// MÜHSAM MIT -ZIG ZWISCHENSCHRITTEN
let stepOne = addOne(1); // 1 + 1 = 2
let stepTwo = timesTwo(stepOne); // 2 * 2 = 4
let finallyDone = minusSeven(stepTwo); // 4 - 7 = -3
console.log(finallyDone); // -3


// IN EINEM SCHRITT ABER SEHR UNÜBERSICHTLICH
let allInOneGo = minusSeven(timesTwo(addOne(1))); // (((1 + 1) * 2) - 7) = -3
console.log(allInOneGo); // -3

// Dummy Code // natürlich so nicht möglich weil Objektnotation
// wäre aber doch viel übersichtlicher!
// ***
// let allInOneGo = addOne(1).timesTwo().minusSeven();
// ***

Dank euch für eure Meinung,

LG Christian

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen