-
Arrow functions do not have their own this, and can only look up the this of the nearest function through the scope chain
-
The arrow function is not constructor and therefore cannot be called from new, so it does not use the new. Target attribute
-
The arrow function has no argument property, which can be obtained by REST
-
Arrow functions cannot change this directly using call and apply and bind
-
Arrow functions cannot use yield and cannot be used as generator functions
-
The arrow function syntax is more concise than normal functions
ES6 introduces a new.target attribute for the new command, which is typically used in constructors to return the constructor or constructor on which the new command is applied. If the constructor is not called with the new command or reflect.construct (), new.target returns undefined, so this property can be used to determine how the constructor is called. These include the absence of super and the prototype —- because the function’s prototype is assigned to the instance object’s prototype property when new is executed.