Если функции в языке программирования обрабатываются так же, как и другие переменные, говорят, что язык имеет первоклассные функции. Следовательно, функции могут быть возвращены другой функцией, назначены любой другой переменной или переданы в качестве аргумента. В JavaScript функции рассматриваются как объекты первого класса. Это означает, что функции — это просто другой вид объектов и не более чем значения.

Давайте воспользуемся иллюстрацией, чтобы узнать больше о первоклассной функции.

<script>
	const codesolutionstuff = 
		add: (x, y) => 
			return `$x + $y = $x + y`;
		,
		subtract: (x, y) => 
			return `$x - $y = $x - y`
		,
		multiply: (x, y) => 
			return `$x * $y = $x * y`
		,
		division: (x, y) => 
			if (y != 0) return `$x / $y = $x / y`;
			return `Cannot Divide by Zero!!!`;
		

	

	document.write(codesolutionstuff.add(200, 200) + "<br>");
	document.write(codesolutionstuff.subtract(100, 7) + "<br>");
	document.write(codesolutionstuff.multiply(50, 50) + "<br>");
	document.write(codesolutionstuff.division(100, 5));
</script>

Вывод:

200 + 200 = 400
100 - 7 = 93
50 * 50 = 2500
100 / 5 = 20

Пример 2:

<script>
    const codesolutionstuff = (x, y) => 
        return (x + " " + y);
    
      
    document.write(codesolutionstuff("Shailesh", "Coder"));
</script>

Вывод:

Shailesh Coder

Первоклассные функции — это то, о чем идет речь, и мы лучше объяснили, как они используются и реализуются.

https://www.codesolutionstuff.com/what-is-the-first-class-function-in-javascript/

Изучите разработку полного стека — CodeSolutionStuff