0

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

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

5 Answers 5

4

With a logical or, default values are possible.

jm.toInt = function (num, base) {
    return parseInt(num, base || 10);
}
Sign up to request clarification or add additional context in comments.

Comments

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' );
    }

Comments

2

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

Comments

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 Comments

Is there any advantage to using arguments.length > 1 ? rather then simply base ?
@AlexandruSeverin none... you can use any of the above formats in this case....
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);
}

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.