The ideology is simple - React says that instead of coding everything at the same place (like we usually do while coding simple HTML pages), break different (and usually independent) parts of the page into different components. This increases the code maintainability by factors and allows developers to have faster and clean codebases.
DDaudalagidhas quoted2 years ago
What do you want to do? How do you want to do? If you specify both, you’re making use of the imperative programming practice.
DDaudalagidhas quoted2 years ago
If you’re just specifying what you want to do, then you’re using the declarative way of programming.
DDaudalagidhas quoted2 years ago
Arrow functions allow you to write smaller functions, lexical scoping to this, and cannot be instantiated with a new keyword:
DDaudalagidhas quoted2 years ago
Keep in mind that in a function, this always refers to how that function is called, except for arrow functions, where this is lexically scoped:
DDaudalagidhas quoted2 years ago
.map allows you to manipulate an array without mutating the original array -that is, .map works on every element in an array and returns to you a new array, consisting of the elements you return from within the function passed in .map.
DDaudalagidhas quoted2 years ago
Classes in ES6 is merely syntactic sugar for functions. JavaScript is not OOP. It follows the prototypal inheritance model, and that’s what classes do as well. Although, the proposed syntax makes it look very similar to OOP.
DDaudalagidhas quoted2 years ago
“Extending” in class-based syntax merely means that you’re adding the parent class (function) to the prototypal chain of the current class (function).
DDaudalagidhas quoted2 years ago
Remember, when using super in a method, super refers to the prototype chain of the object it was defined with.
DDaudalagidhas quoted2 years ago
We have a common understanding as a Computer Scientist that when functions return, they remove all the local variable information associated with them. This is changed when you use a closure