Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to pass the value 'undefined' to a function with multiple parameters?

I want to pass the value of 'undefined' on a multiple parameter function but without omitting the parameter.

What do I mean with "without omitting the parameter". I mean that we should not just omit the parm2 like this example:

function myFunction (parm1, parm2) {} myFunction("abc"); 

This will indeed make parm2 undefined, but I am not allowed to do it this way because I will need to specify other parameters AFTER the omitted parameter, so the previous method won't work in the case I want to make parm1 undefined BUT also want to have other parameters after this one to hold a value.

I have tried solving the problem with:

myFunction( ,"abc"); //doesn't seem to work 

Update:

and myFunction(undefined, "abc"); « this reliably works now.

However, it is worth mentioning that:

Setting a variable to undefined is considered a bad practice, we should be using null instead.

like image 442
ajax333221 Avatar asked Jan 25 '12 06:01

ajax333221


People also ask

Can we assign undefined value to a variable?

YES, you can, because undefined is defined as undefined.


2 Answers

myFunction(undefined,"abc"); this way should work, what is the problem?

see here

Here is undefined documentation from mozilla, supported by all browsers

like image 181
xdazz Avatar answered Sep 26 '22 14:09

xdazz


The void operator seems to be the most common way to explicitly get undefined.

You would use it like this in your example:

myFunction(void 0, "abc"); 

It's also a reliable method for comparing against undefined that is guarded against undefined being accidentally overridden in older JavaScript environments:

var x; if (x === void 0) {     // this will execute } 
like image 28
bkbooth Avatar answered Sep 26 '22 14:09

bkbooth