KoderSolutionKoderSolution LogoKoderSolution Logo
HomeArticlesTutorialsToolsRun CodeForumAI Lab
⚡

JavaScript

Topic Hub & Articles

JS Introduction

10 min

JS Where To

10 min

JS Output

10 min

Recap Quiz

Gated

Milestone Assessment

JS Statements

10 min

JS Syntax

10 min

JS Comments

10 min

Recap Quiz

Gated

Milestone Assessment

JS Variables

10 min

JS Let

10 min

JS Const

10 min

Recap Quiz

Gated

Milestone Assessment

JS Operators

10 min

JS Arithmetic

10 min

JS Assignment

10 min

Recap Quiz

Gated

Milestone Assessment

JS Data Types

10 min

JS Functions

10 min

JS Objects

10 min

Recap Quiz

Gated

Milestone Assessment

JS Events

10 min

JS Strings

10 min

JS String Methods

10 min

Recap Quiz

Gated

Milestone Assessment

JS String Search

10 min

JS String Templates

10 min

JS Numbers

10 min

Recap Quiz

Gated

Milestone Assessment

JS Number Methods

10 min

JS BigInt

10 min

JS Arrays

10 min

Recap Quiz

Gated

Milestone Assessment

JS Array Methods

10 min

JS Array Search

10 min

JS Array Sort

10 min

Recap Quiz

Gated

Milestone Assessment

JS Array Iteration

10 min

JS Array Const

10 min

JS Dates

10 min

Recap Quiz

Gated

Milestone Assessment

JS Date Formats

10 min

JS Date Get Methods

10 min

JS Date Set Methods

10 min

Recap Quiz

Gated

Milestone Assessment

JS Math

10 min

JS Random

10 min

JS Booleans

10 min

Recap Quiz

Gated

Milestone Assessment

JS Comparisons

10 min

JS If Else

10 min

JS Switch

10 min

Recap Quiz

Gated

Milestone Assessment

JS Loop For

10 min

JS Loop For In

10 min

JS Loop For Of

10 min

Recap Quiz

Gated

Milestone Assessment

JS Loop While

10 min

JS Break

10 min

JS Iterables

10 min

Recap Quiz

Gated

Milestone Assessment

JS Sets

10 min

JS Maps

10 min

JS TypeOf

10 min

Recap Quiz

Gated

Milestone Assessment

JS Type Conversion

10 min

JS Destructuring

10 min

JS Bitwise

10 min

Recap Quiz

Gated

Milestone Assessment

JS RegExp

10 min

JS Errors

10 min

JS Scope

10 min

Recap Quiz

Gated

Milestone Assessment

JS Hoisting

10 min

JS Strict Mode

10 min

JS This Keyword

10 min

Recap Quiz

Gated

Milestone Assessment

JS Arrow Function

10 min

JS Classes

10 min

JS Modules

10 min

Recap Quiz

Gated

Milestone Assessment

JS JSON

10 min

JS Debugging

10 min

JS Best Practices

10 min

Recap Quiz

Gated

Milestone Assessment

JS Common Mistakes

10 min

JS Performance

10 min

JS Reserved Words

10 min

Recap Quiz

Gated

Milestone Assessment

DOM Intro

10 min

DOM Methods

10 min

DOM Document

10 min

Recap Quiz

Gated

Milestone Assessment

DOM Elements

10 min

DOM HTML

10 min

DOM Forms

10 min

Recap Quiz

Gated

Milestone Assessment

DOM CSS

10 min

DOM Animation

10 min

DOM Events

10 min

Recap Quiz

Gated

Milestone Assessment

DOM Event Listener

10 min

DOM Navigation

10 min

DOM Nodes

10 min

Recap Quiz

Gated

Milestone Assessment

DOM Collections

10 min

DOM Node List

10 min

JS Window

10 min

JS Screen

10 min

JS Location

10 min

Recap Quiz

Gated

Milestone Assessment

JS History

10 min

JS Navigator

10 min

JS Popup Alert

10 min

Recap Quiz

Gated

Milestone Assessment

JS Timing

10 min

JS Cookies

10 min

JS Callbacks

10 min

JS Asynchronous

10 min

JS Promises

10 min

Recap Quiz

Gated

Milestone Assessment

JS Async/Await

10 min

Progress
0%

0 / 92 Lessons

KoderSolutionKoderSolution LogoKoderSolution Logo

The world’s most advanced technical ecosystem for modern software engineers. Learn, build, and grow with next-generation developer tools and resources.

Facebook PageX (Twitter) ProfileYouTube ChannelContact Support

Engineering Newsletter

Subscribe for weekly software engineering tutorials, architecture guides, and developer tool updates.

Platforms

  • Technical Articles
  • Interactive Tutorials
  • AI Coding Lab
  • Developer Forum
  • Developer Tools

Pages

  • About Us
  • Contact Us
  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Disclaimer
  • Advertisement

Popular Topics

  • PHP
  • Laravel
  • Python
  • React.Js
  • MySQL
© 2026 KoderSolutionAll Rights Reserved
Developed Bymaksudur.dev
JavaScriptJS Tutorial
Lesson

JS Bitwise

10 min reading
Free Course

JavaScript Bitwise Operators: Working with 32-Bit Binary Flags

JavaScript bitwise operators treat numbers as 32-bit signed integers and manipulate their individual binary bits (0 and 1). Although rarely needed in everyday UI code, bitwise flags power compact permission systems, color channel math, and binary protocols.

Bitwise Operators Reference

Every bitwise operator converts its numeric operands into 32-bit signed integers using two's complement binary format before applying the bit operation:

Operator Name Example Meaning
& AND 5 & 1 (1) Bit is 1 only if both bits are 1
| OR 4 | 1 (5) Bit is 1 if either bit is 1
^ XOR 5 ^ 1 (4) Bit is 1 if bits differ
~ NOT ~5 (-6) Inverts all 32 bits (-(n + 1))
<< Left shift 1 << 3 (8) Shifts bits left (multiplies by 2^n)
>>> Unsigned right shift -1 >>> 0 Shifts right filling 0 on the left

Bitwise masks save space when storing dozens of boolean options inside a single database integer column, and they appear frequently in graphics code, hashing helpers, and binary file parsers. Unlike standard arithmetic operators, bitwise operations discard any fractional digits before shifting or masking bits.

Practical Permission Bitmask Example

Developers use powers of two (1, 2, 4, 8) with | to combine flags and & to test whether a specific permission bit is set.

const READ = 1 << 0;    // 001 (1)
const WRITE = 1 << 1;   // 010 (2)
const DELETE = 1 << 2;  // 100 (4)

// Combine permissions with bitwise OR
let userPerms = READ | WRITE;

const canWrite = (userPerms & WRITE) !== 0;
const canDelete = (userPerms & DELETE) !== 0;

// Toggle WRITE permission with XOR
userPerms ^= WRITE;

console.log({ canWrite, canDelete, updatedMask: userPerms });

Common Mistakes to Avoid

  • Typing & instead of && in conditions: && is logical AND with short-circuiting, whereas & evaluates both sides and performs 32-bit binary math.
  • Using bitwise operators on numbers over 32 bits: JavaScript truncates numbers to 32-bit signed integers before running &, |, or <<, silently destroying values larger than 2,147,483,647 (unless using BigInt).
  • Using | 0 or ~~x instead of Math.trunc(): Bitwise truncation hacks fail on numbers larger than 2^31 - 1; write Math.trunc() for clarity.

Frequently Asked Questions

What is the difference between >> and >>>?

>> is a sign-preserving right shift that keeps negative numbers negative by copying the sign bit. >>> fills leftmost bits with 0, turning any 32-bit integer into an unsigned positive number.

Can I use bitwise operators with BigInt?

Yes, BigInt supports &, |, ^, ~, <<, and >> without the 32-bit truncation limit, except >>> is unsupported on BigInt.

How do I extract the green channel from a 24-bit hex color?

Shift right by 8 bits and mask with 0xff: const green = (0x34a853 >> 8) & 0xff; returns 168.

Save Your Progress

Unlock Your
Full Potential.

Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.

Quick Access With

Enterprise-Grade Security Protocol

Try it Yourself

Experiment with the code from this lesson in our interactive playground.

Open Playground
Lesson Recap Quiz Available

Test Your Knowledge

You've completed this section! Take a quick 5-question quiz to check your understanding.

Related Developer Tools & Topic Hub

JavaScript Topic Hub
JSON Formatter
Validate, format, and minify JSON
Regex Tester
Test JavaScript regular expressions
JWT Decoder
Inspect JSON Web Token payloads
All JavaScript Articles
Deep-dive guides, tips & discussions
PreviousJS Destructuring
Continue JourneyTake Recap Quiz

Stuck on this lesson?

Join our community of senior developers.

Ask in Forum