La función de expresión nos permite crear una función anónima que no tiene ningún nombre de función, que es la principal diferencia entre la expresión de función y la declaración de función. Una expresión de función se puede utilizar como una IIFE (expresión de función inmediatamente invocada) que se ejecuta tan pronto como se define. Una expresión de función debe almacenarse en una variable y se puede acceder a ella mediante variableName. Con las funciones de ES6 que introducen la función de flecha , se vuelve más fácil declarar la expresión de función.
Sintaxis para la declaración de función:
function functionName(x, y) { statements... return (z) };
Sintaxis para expresión de función (anónima):
let variableName = function(x, y) { statements... return (z) };
Sintaxis para la expresión de función (nombrada):
let variableName = function functionName(x, y) { statements... return (z) };
Sintaxis de la función de flecha:
let variableName = (x, y) => { statements... return (z) };
Nota:
- Una expresión de función debe definirse primero antes de llamarla o usarla como parámetro.
- Una función de flecha debe tener una declaración de retorno.
Los siguientes ejemplos ilustran la expresión de la función en JavaScript:
Ejemplo 1: Código para Declaración de Función.
Javascript
<script> function callAdd(x, y){ let z = x + y; return z; } console.log("Addition : " + callAdd(7, 4)); </script>
Producción:
Addition : 11
Ejemplo 2: CodeforFunctionExpression ( anónimo )
Javascript
<script> var calSub = function(x, y){ let z = x - y; return z; } console.log("Subtraction : " + calSub(7, 4)); </script>
Producción:
Subtraction : 3
Ejemplo 3: CodeforFunctionExpression ( named )
Javascript
<script> var calMul = function Mul(x, y){ let z = x * y; return z; } console.log("Multiplication : " + calMul(7, 4)); </script>
Producción:
Multiplication : 28
Ejemplo 4: CodeforArrowFunction
Javascript
<script> var calDiv = (x, y) => { let z = x / y; return z; } console.log("Division : " + calDiv(24, 4)); </script>
Producción:
Division : 6
Navegador compatible:
- Chrome 1 y superior
- Borde 12 y superior
- Firefox 1 y superior
- Internet Explorer 3 y superior
- Ópera 3 y superior
- Safari 1 y superior
Publicación traducida automáticamente
Artículo escrito por abhishekkharmale y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA