Question

I am reading through some javascript code, and I have seen a lot of code that looks like this:

processMethod = processMethod || function(){};

it's usually found inside a function. I believe it's a shorthand code, but I am not sure what it does.

Does it check to see if processMethod has a value, and if it doesn't declares it as a function that can be defined later?

Était-ce utile?

La solution

In words:

if there is no processMethod, create it empty.

|| works with booleans, so it checks if the first operand processMethod has a boolean-equivalent. If processMethod is defined and not null, the boolean-equivalent is true. If processMethod is undefined or null, the boolean-equivalent is false. In the false-case, || looks for a boolean-equivalent of the second-operand, its not null so its boolean-equivalent is true.

false || true resolves to true so processMethod becomes function(){}.

Btw function(){} is a empty function whom used to not throw a error on processMethod()

Autres conseils

It essentially checks whether it exists or not. If it doesn't exist, assign it.

function doSomething(o) {
    o = o || {};
}

In the above case, it checks whether a value for o was passed. If not it assigns an empty object to it.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top