====== Java Script Arrow Functions Implicit Return ====== Arrow functions allow for a concise syntax that can include an **implicit return**. \\ Syntax: const functionName = (parameters) => expression; The expression right after the **=>** will be implicitly returned. This is particularly useful for simple, one-liner functions. \\ Implicit return occurs only when curly braces {} are not used. When you use curly braces {} in an arrow function, it indicates a block of code, and you will need to include an explicit return statement to return a value. \\ If you don't include a return statement, the function will return undefined. ===== Implicitly Returning a Number ===== const add = (a, b) => a + b; console.log(add(5, 3)); // Output: 8 ===== Implicitly Returning an Object ===== const getObject = () => ({ key: 'value' }); console.log(getObject()); // Output: { key: 'value' } ===== Implicitly Returning an Array ===== const getArray = () => [1, 2, 3]; console.log(getArray()); // Output: [1, 2, 3] ===== Implicitly Returning a String ===== const greet = (name) => `Hello, ${name}!`; console.log(greet('John')); // Output: Hello, John! ===== Other considerations ==== If the body of the arrow function requires more complex logic or multiple statements, you'll need to use braces {} and an explicit return statement: const add = (a, b) => { //other code here... return a + b; // explicit return needed }; console.log(add(5, 3)); // Output: 8 Implicit return only works for a single expression. We can't have an **explicit return statement without using the curly braces {}** in an arrow function. The explicit return requires a block of code, and curly braces are used to define that block. \\ Not working example: // Syntax error, unexpected token 'return' const add = (a, b) => return a + b; To fix the code, remove the return keyword or add curly braces: // This works, added curly braces const add = (a, b) => { return a + b; } // This works, return keyword removed. const add = (a, b) => a + b;