Destructuring

Destructuring is the practice of unpacking values from an X object to assign it a given variable

  • It is handy if you are trying to remove values directly from an object and assign it to different variables
  • Or simply accessing a given property of an object

JSON

JSON which stands for Javascript object notation, is a standard way of representing data so that it can be shared over the internet

  • It’s not common to javascript other programming languages it too.
  • it’s one of the more of standard way of representing data that will be shared over different applications
  • It’s mostly in a string format and javascript provides methods to serialize and deserialize the data

Higher-Order Functions

The more your program grows in size and complexity, it’s more than crucial to learn a better organizing techniques. learning to break a complex program into reusable chunks , will not only save you, but also the people who will read your codes in the future.

Abstraction

Abstraction is a term in computing used to define the ability of hiding the implementation details and talk about problems on a higher level.

  • Abstraction helps us to reason better about our code
  • By hiding too much implementation details, our codes are much more readable and more digestible.

Sometimes, to much abstraction can make code less maintainable, it’s crucial to find the right balance between what you are abstracting over and your interaction with the abstraction.

Higher order function

Higher order function is all about functions that operates on other function, either by taking them as arguments or by returning other functions.

  • This allow us to create a symphony of functions from everywhere interacting with each other to create our program

  • A great example of higher order functions would be the Array filter and map method, that takes in your array and process it bases on what was returned from a function.