son dos operadores. el primero, logical not o inverso logico
(!), invierte un valor booleano. display no es un boolean, pero al realizar una operacion booleana javascript convierte el string a boolean. el segundo, operador ternario
(?:) es una simplificacion del condicional if/else. el operador tiene el formato
condicion ? expresion1: expresion2;. la
expresion1 se evalua si la
condicion es cierta y la
expresion2 si es falso.
https://developer.mozilla.org/en/Jav...ecedence#Table