In JS what does processMethod = processMethod || function(){}; do? [duplicate]

StackOverflow https://stackoverflow.com/questions/21472638

  •  05-10-2022
  •  | 
  •  

Вопрос

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?

Это было полезно?

Решение

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()

Другие советы

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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top