This question already has an answer here:
- How to overload functions in javascript? 13 answers
I'm new to JavaScript coming from Python background. In Python parameters can be passed as key and value as such:
def printinfo( name, age = 35 ):
print "Name: ", name
print "Age ", age
return;
Then the function could be called as such:
printinfo( age=50, name="miki" )
printinfo( name="miki" )
Can such parameters be passing in JavaScript functions?
I want to be able to pass one or more parameter. For example a JavaScript function as such:
function plotChart(data, xlabel, ylabel, chart_type="l"){
...
}
I want to be able to pass only data and chart type and labels are optional such as :
plotChart(data, chart_type="pie")
Is this possible with JavaScript?
One way is to check if the parameter value is
undefined
and if so then assign a value.Also EcmaScript 2016 (ES6) offers Default Parameters. Since some browser don't yet support this feature you can use a transpiler such as babel to convert the code to ES5.
To make it work like in your python example you would have to pass an object containing the values instead of individual parameters.
Example usage
A good way to do this would be to use an object for all of the arguments. Something like:
Then when the function is called:
There's a ton of answers for this already, but I havn't seen what I considered to be the simplest solution to this.
You can check if parameters are defined and hard code that into your functions.
e.g.
ETA:
ES6 was allows for default parameter values (was unaware of this when I posted the answer).
Link