Tell us what’s happening:

Please use something basic so we can learn the idea of the lesson, not how advanced JavaScript is,

What is the (function() { } )() construct in JavaScript?

Turn out, it’s an Immediately-Invoked Function Expressiono or IIFE and it is can also be written with ES6’s arrow function ( the last lesson we just learnt on FreeCodeCamp )

I have to search a whole day for that, not for Rest Operator I am learning,

Also about Map() Filter() and Reduce() are quite advanced but FreeCodeCamp doesnt have any lesson about it, but it appeared a lot on the exercises.

Many exercises are hard not because their problem themselves, but because of other advanced syntaxes on the code, that we have never seen before on FreeCodeCamp, ( of course I can search it on google, but what is the idea of FreeCodeCamp - a place for studying code or just teach something easy with hard exercises? )

Sorry if I say too much, I know the idea of shut up and keep google when get stuck, but it would be nice if FreeCodeCamp can have more common sense system :

• Easy first - hard later
• Exercises just show something from this lesson and the previous only
• If something are important, and are shown on many exercises; please let it on one lesson first.

or do I study the wrong order ? I just finished Basic JavaScript and study ES6, so many new things come up on exercises.

Which is the good order to study for newbies ?

Can FreeCodeCamp sort the section from easy to hard so many newbies like me will not be confused anymore,

Sorry for talking too much,

I’m so stupid and really stress right now and any reply would be greatly appreciated.

#### Javascript Algorithms And Data Structures Certification (300 hours)

• ##### JavaScript Algorithms and Data Structures Projects

``````
const sum = (function() {
"use strict";
return function sum(x, y, z) {
const args = [ x, y, z ];
return args.reduce((a, b) => a + b, 0);
};
})();
console.log(sum(1, 2, 3)); // 6
``````

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36`.