How much call, apply and bind is abstracted away in reactjs?
I also agree that the assignment of "this" is pretty difficult to grasp, especially in large codebases with callbacks, fn as arguments, and the issue still remains, despite fat arrow functions, async/await and promises.
Someone mentioned prototypes, that's a double edged sword, it can help to have own prototypes but it can cause so much confusion.
apply/bind/call aren't really abstracted away at all in react. In older versions they did do the binding magically for you, but when they made the switch to es6 classes they stopped doing that in favor of writing JS more like vanilla JS with less magic, outside of JSX of course.
Now with hooks/function components being the most common way of writing apps, there's almost no need for binding or dealing with "this" at all.
I also agree that the assignment of "this" is pretty difficult to grasp, especially in large codebases with callbacks, fn as arguments, and the issue still remains, despite fat arrow functions, async/await and promises. Someone mentioned prototypes, that's a double edged sword, it can help to have own prototypes but it can cause so much confusion.