"!" - логический оператор "Не"
!true = false
!false = true
А результат проверки зависит от типа переменной text
Если это логическая переменная, то выполняется обычная проверка, условие выполняется, если text НЕ true
text = false
if(!text){
//Условие выполняется
}
Если это числовая переменная, то значению false соответствует цифра 0, т.е. все остальные цифры не попадут под условие, а при text равном нулю
!42 = false
!0 = true
Во всех остальных случаях, происходит проверка на null.
!null = true
!"some text" = false
!"42" = false
!"0" = false