valor una retornar por pasar parametros parameter opcionales funciones funcion es6 desde defecto javascript function arguments

una - Valores de argumento predeterminados en funciones de JavaScript



pasar parametros a una funcion javascript desde html (6)

En javascript puede llamar a una función (incluso si tiene parámetros) sin parámetros.

Así que puedes agregar valores predeterminados como este:

function func(a, b){ if (typeof(a)===''undefined'') a = 10; if (typeof(b)===''undefined'') b = 20; //your code }

y luego puedes llamarlo como func(); para utilizar los parámetros por defecto.

Aquí hay una prueba:

function func(a, b){ if (typeof(a)===''undefined'') a = 10; if (typeof(b)===''undefined'') b = 20; alert("A: "+a+"/nB: "+b); } //testing func(); func(80); func(100,200);

Posible duplicado:
¿Cómo hago un valor predeterminado para un parámetro a una función javascript?

en PHP:

function func($a = 10, $b = 20){ // if func() is called with no arguments $a will be 10 and $ b will be 20 }

¿Cómo puedes hacer esto en JavaScript?

Recibo un error si trato de asignar valores en los argumentos de la función

falta) después de parámetros formales


No puede agregar valores predeterminados para los parámetros de función. Pero puedes hacer esto:

function tester(paramA, paramB){ if (typeof paramA == "undefined"){ paramA = defaultValue; } if (typeof paramB == "undefined"){ paramB = defaultValue; } }


Nunca lo he visto hecho de esa manera en JavaScript. Si desea una función con parámetros opcionales que obtengan valores predeterminados asignados si se omiten los parámetros, aquí hay una manera de hacerlo:

function(a, b) { if (typeof a == "undefined") { a = 10; } if (typeof b == "undefined") { a = 20; } alert("a: " + a + " b: " + b); }


Tienes que comprobar si el argumento es indefinido:

function func(a, b) { if (a === undefined) a = "default value"; if (b === undefined) b = "default value"; }

También tenga en cuenta que esta pregunta ha sido respondida before .


ES2015 en adelante:

Desde ES6 / ES2015, tenemos parámetros predeterminados en la especificación de lenguaje. Así que podemos hacer algo simple como,

function A(a, b = 4, c = 5) { }

o combinado con la desestructuración ES2015 ,

function B({c} = {c: 2}, [d, e] = [3, 4]) { }

Para una explicación detallada,

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/default_parameters

Los parámetros de función predeterminados permiten que los parámetros formales se inicialicen con valores predeterminados si no se pasa ningún valor o undefined .

Pre ES2015:

Si va a manejar valores que NO son números, cadenas, booleanos, NaN o null , simplemente puede usar

(Por lo tanto, para Objetos, Arrays y Funciones que planea no enviar nunca, puede usar)

param || DEFAULT_VALUE

por ejemplo,

function X(a) { a = a || function() {}; }

Aunque esto parece simple y un poco funciona, es restrictivo y puede ser un antipatrón porque || opera en todos los valores falsos ( "" , null , NaN , false , 0 ) también, lo que hace que a este método le sea imposible asignar a un parámetro el valor falso pasado como argumento.

Entonces, para manejar solo valores undefined explícitamente, el enfoque preferido sería,

function C(a, b) { a = typeof a === ''undefined'' ? DEFAULT_VALUE_A : a; b = typeof b === ''undefined'' ? DEFAULT_VALUE_B : b; }


function func(a, b) { if (typeof a == ''undefined'') a = 10; if (typeof b == ''undefined'') b = 20; // do what you want ... for example alert(a + '','' + b); }

en taquigrafía

function func(a, b) { a = (typeof a == ''undefined'')?10:a; b = (typeof b == ''undefined'')?20:b; // do what you want ... for example alert(a + '','' + b); }