Q:

JavaScript - What does these value-assignment (using |= as an operator) mean?

Today I have seen these code-snippet:
  /**
     * @param src: any variable of any type
     * @param html: output format (true|false); default = false
     * @param level: (internal, don't use)
     *
     * @return string: formatted output
     */
    function showObj(src, html, level) {
      level |= 0;

Complete script:
https://codereview.stackexchange.com/questions/123283/helper-function-to-format-output-any-type-of-variable
What is the value-assignment with |= ( in "level |= 0" ) ?
I haven't seen it anywhere before and can't find anything about it.

A:

That(|) is a bit wise or operator, It normally used in situations where the decimal points of a number has to be truncated.
var level = 2.444434;
level |= 0; // level = level | 0;
console.log(level) // 2

