There are differences between arrow functions and traditional functions, as well as some limitations:
- Arrow functions don't have their own bindings to this, arguments or super, and should not be used as methods.
- Arrow functions don't have access to the new.target keyword.
- Arrow functions aren't suitable for call, apply and bind methods, which generally rely on establishing a scope.
- Arrow functions cannot be used as constructors.
- Arrow functions cannot use yield, within its body.
Readmore: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions