Difference between double & single NOT

by Abhishek Kumar

JavaScript

console.log('!!false', !!false, '!false', !false)
console.log('!!true', !!true, '!true', !true)

console.log('!!0', !!0, '!0', !0)
console.log('!!parseInt("foo")', !!parseInt("foo"), '!parseInt("foo")', !parseInt("foo"))
console.log('!!1', !!1, '!1', !1)
console.log('!!-1', !!-1, '!-1', !-1)

console.log('!!""', !!"", '!""', !"")
console.log('!!"foo"', !!"foo", '!"foo"', !"foo")
console.log('!!"false"', !!"false", '!"false"', !"false")

console.log('!!window.foo', !!window.foo, '!window.foo', !window.foo)
console.log('!!null', !!null, '!null', !null)

console.log('!!{}', !!{}, '!{}', !{})
console.log('!![]', !![], '![]', ![])