11: O que o !! faz?
February 11, 2020
https://www.instagram.com/tv/B9pJPohnn3E/
O operador NÃO-duplo (!!) força a conversão do valor um booleano EXPLICITAMENTE, basicamente, é uma maneira elegante de converter um valor em um booleano.
console.log('!!null: ', !!null) //logs false
console.log('!!undefined: ', !!undefined) //logs false
console.log('!!\'\': ', !!'') //logs false
console.log('!!0: ', !!0) //logs false
console.log('!!NaN: ', !!NaN) //logs false
console.log('!!\' \' : ', !!' ') //logs true
console.log('!!{}: ', !!{}) //logs true
console.log('!![]: ', !![]) //logs true
console.log('!!1: ', !!1) //logs true
console.log('!![].length: ', !![].length) //logs false
Baseado no excelente artigo: 70 Interview Questions