Arrow Functions
Which of the following cannot be done with arrow functions?
Arrow functions cannot be used as constructors with the 'new' keyword. They lack several internal properties that regular functions have, including the internal [[Construct]] method that allows functions to be called with `new`. Attempting to use an arrow function with `new` will result in a TypeError: "Arrow functions cannot be used as constructors". Additionally, arrow functions don't have their own `this` context, don't have a `prototype` property, and can't be used for `arguments`, `super`, or `new.target`. This limitation exists because arrow functions are designed for non-method functions and lexical binding, not for creating objects. For constructors and methods that need to access `this`, regular functions (function expressions, function declarations, or class methods) are more appropriate. The other options are all valid uses of arrow functions: they can accept multiple parameters, return object literals (though they require parentheses: `() => ({ prop: value })`), and can create and return other functions as higher-order functions.