JSFiddle - React, Tailwind, and code Playground
JavaScript
// tilde operator ~ (Bitwise NOT) ~N == -(N + 1)
console.log(~1) // -(1 + 1) == -2
console.log(~-1) // -(-1 + 1) == 0
console.log(~0) // -(0 + 1) == -1
// double tilde always returns original value
console.log(~~1) // -(-(1 + 1) + 1) == 1
console.log(~~-1) // -(-(-1 + 1) + 1) == -1
console.log(~~0) // -(-(0 + 1) + 1) == 0
// logical not operator !
console.log(!1) // false
console.log(!0) // true
console.log(!-1) // false
// ! and ~ together
console.log(~!1) // -(0 + 1) == -1
console.log(!~1) // !(-(1 + 1)) == false
console.log(~!-1) // -(0 + 1) == -1
console.log(~!0) // -(1 + 1) == -2
console.log(!~0) // -(0 + 1) == false