i want to set an optional parameter to a function using javascript. i have a function defined like below,
const function1 = () => {
setValue(!open);
};
i call it like below in other function
const main_function = () => {
function1();
}
now i want to pass an optional parameter to function1 to accept an optional parameter that sets it to true or false instead of toggling based on previous value.
how can i fix this. could someone help me with this thanks.
i want to set an optional parameter to a function using javascript. i have a function defined like below,
const function1 = () => {
setValue(!open);
};
i call it like below in other function
const main_function = () => {
function1();
}
now i want to pass an optional parameter to function1 to accept an optional parameter that sets it to true or false instead of toggling based on previous value.
how can i fix this. could someone help me with this thanks.
Share Improve this question asked Jul 17, 2020 at 13:24 sarithasaritha 6592 gold badges12 silver badges31 bronze badges 5-
3
function1 = (optionalParam = false) => {}
– VLAZ Commented Jul 17, 2020 at 13:25 -
3
setValue(!open);
don't do this. Use functional update as your new state depends on the previous state.setValue(prevState => !prevState)
. – Ramesh Reddy Commented Jul 17, 2020 at 13:26 - @VLAZ: so how do i call function1. – saritha Commented Jul 17, 2020 at 13:28
- 3 Does this answer your question? Set a default parameter value for a JavaScript function – cbr Commented Jul 17, 2020 at 13:28
-
function1()
orfunction1(true)
orfunction1(false)
– VLAZ Commented Jul 17, 2020 at 13:28
5 Answers
Reset to default 6I hope this helps someone, you can just set the value to null like code below:
const function1 = ({arg1=null, arg2= false, arg3, ...}) => {
}
Pass a default value like so:
function multiply(a, b = 1) {
return a * b
}
multiply(5, 2) // 10
multiply(5) // 5
Example taken from MDN docs
we can't make function arguments optional in javascript directly. However, we can assign them a default value, in case no arguments is passed through. this is how you do it-
const abc = (arg1, arg2= 'default value') => {
//arg1 is required. however if arg2 is not passed in any case, the default value //will be used in place.
}
You can check the if the argument is defined or not, like:
const function1 = (arg) => {
setValue(arg === undefined ? !open : arg);
};
As far as I can understand you want something like this.
const function1 = (param) => {
setValue(params ? true : false);
}
It will set true
if param
is available otherwise false.
Correct me if I'm wrong.