MOCKSTACKS
EN
Questions And Answers

More Tutorials




Using a bitmask in Javascript


With bit masking, multiple flags are combined into a single variable that can be tested by applying a mask.

This enables a single variable to store multiple values.

Function parameters


For example, say you want to pass any number of options to a function without defining individual parameters or configuring a dynamic object:

const OPTION_1 = 0x0001;
const OPTION_2 = 0x0010;
const OPTION_3 = 0x0100;
const OPTION_4 = 0x1000;
function fn(options) {
  if (options & OPTION_1) { console.log("1"); }
  if (options & OPTION_2) { console.log("2"); }
  if (options & OPTION_3) { console.log("3"); }
  if (options & OPTION_4) { console.log("4"); }
}

Above, four options are defined which can be passed arbitrarily to the function such as:

fn(OPTION_1);                       // outputs: 1
fn(OPTION_2 | OPTION_4);            // outputs: 2, 4
fn(OPTION_3 | OPTION_1);            // outputs: 1, 3
fn(OPTION_1 | OPTION_2 | OPTION_3); // outputs: 1, 2, 3


Conclusion

In this page (written and validated by ) you learned about . What's Next? If you are interested in completing Javascript tutorial, we encourage you simply to start here: Javascript Tutorial.



Incorrect info or code snippet? We take very seriously the accuracy of the information provided on our website. We also make sure to test all snippets and examples provided for each section. If you find any incorrect information, please send us an email about the issue: mockstacks@gmail.com.


Share On:


Mockstacks was launched to help beginners learn programming languages; the site is optimized with no Ads as, Ads might slow down the performance. We also don't track any personal information; we also don't collect any kind of data unless the user provided us a corrected information. Almost all examples have been tested. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. By using Mockstacks.com, you agree to have read and accepted our terms of use, cookies and privacy policy.