šŸ“• Build AI Agents using LangGraph.js is now out!

The double tilde ~~ operator in Javascript

Adding to the list of useful obscure operators in Javascript, today will discuss the double tilde ~~ operator.

What it does is remove everything after the decimal point. Think of it as a way to round a number.

Let's see it in action:

console.log( ~~ 7.34) // 7
console.log( ~~ -11.40) // -11

The full formula is:

const doubleTilde = (x) => {
    if(x < 0) return Math.ceil(x);
    else return Math.floor(x)
}

It also works with strings:

console.log( ~~ "7.34") // 7
console.log( ~~ "-11.40") // -11

For example, this can be used when we generate a random number for a HSL color in Javascript:

const randColor = `hsl(${~~(360 * Math.random())}, 100%, 50%)`

// will output something like "hsl(123, 100%, 50%)" 
// or  "hsl(123, 100%, 50%)"

Under the hood what is happening is that we are applying the single tilde operator twice. So actually, there is no real double tilde operator šŸ˜†.

But, we do have a double asterisk ** operator in Javascript.

šŸ“– Build a full trivia game app with LangChain

Learn by doing with this FREE ebook! This 35-page guide walks you through every step of building your first fully functional AI-powered app using JavaScript and LangChain.js

šŸ“– Build a full trivia game app with LangChain

Learn by doing with this FREE ebook! This 35-page guide walks you through every step of building your first fully functional AI-powered app using JavaScript and LangChain.js


Leave a Reply

Your email address will not be published. Required fields are marked *