Search code examples
javascriptnamed-parametersdefault-parameters

JavaScript function with optional parameters


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?


Solution

  • A good way to do this would be to use an object for all of the arguments. Something like:

    function plotChart(options) {
      // Set defaults
      options.chart_type = options.chart_type || '1';
    
      // Check if each required option is set
      // Whatever is used by the data
    }
    

    Then when the function is called:

    plotChart({
      data: 'some data',
      xlabel: 'some xlabel',
      ylabel: 'some ylabel',
      chart_type: '5' // This is optional
    });