0

I want to make default parameter in javascript , so can i ?

jm.toInt = function (num, base=10) {
    return parseInt(num,base);
}
1
4

With a logical or, default values are possible.

jm.toInt = function (num, base) {
    return parseInt(num, base || 10);
}
3

ofcourse there is a way!

function myFunc(x,y)
{
   x = typeof x !== 'undefined' ? x : 1;
   y = typeof y !== 'undefined' ? y : 'default value of y';
   ...
}

in your case

    jm.toInt = function(num, base){
       return parseInt(num, arguments.length > 1 ? base: 'default value' );
    }
2

ES6 support default parameters, but ES5 not, you can use transpilers (like babel) to use ES6 today

0
2

It is part of ES6, but as of now, not widely supported so you can do something like

jm.toInt = function(num, base) {
  return parseInt(num, arguments.length > 1 ? base : 10);
}

2
  • Is there any advantage to using arguments.length > 1 ? rather then simply base ? Sep 14 '15 at 12:31
  • @AlexandruSeverin none... you can use any of the above formats in this case.... Sep 14 '15 at 12:36
0

Use typeof to validate that arguments exist (brackets added to make it easier to read):

jm.toInt = function (num, base) {
    var _base = (typeof base === 'undefined') ? 10 : base
    return parseInt(num, _base);
}

Not the answer you're looking for? Browse other questions tagged or ask your own question.