Saltar al contenido

¿Qué significa una sola barra vertical en JavaScript?

Ya no tienes que indagar más en otras webs ya que llegaste al lugar adecuado, contamos con la respuesta que necesitas recibir pero sin complicarte.

Solución:

Esto realizará un OR bit a bit entre los bits en this.value y los bits ya almacenados en Value, luego vuelva a almacenar el resultado en Value.

var Value = 42;  // 00101010
Value |= 96;     // 01100000
window.alert(Value);  // 01101010 -> 106

Es un “O” binario, como en C o C ++ o Java. En este caso, se utiliza en su forma de operador de asignación, por lo que

value |= this.value

significa que this.value y value ambos se convierten en enteros de 32 bits y se realiza una operación OR bit a bit. Si value eran 10 y this.value eran 3 antes de la operación (es decir, 01010 y 011 en binario) el resultado sería 11 (01011 en binario).

Los operadores lógicos binarios en Javascript son notables en Javascript porque el trabajo se realiza en entero valores.

El término “bit a bit” es quizás más preciso que “binario”. Las operaciones actúan sobre cada bit de un valor numérico, específicamente los valores numéricos forzados a enteros de 32 bits con signo. El resultado también es un entero de 32 bits con signo (según la especificación).

Sin embargo, los números de JavaScript “en reposo” son siempre valores de coma flotante binarios de 64 bits. Por lo tanto, los resultados de los operadores bit a bit, aunque se calculan con matemáticas enteras de 32 bits, se almacenan en forma de punto flotante. Eso funciona porque el rango de enteros de 32 bits se ajusta de manera cómoda y precisa en un flotador de 64 bits.

Como han señalado otros, este es el operador OR bit a bit. Sin embargo, no creo que la gente lo use mucho en valores numéricos en Javascript ya que, en general, no hace muchos cálculos en Javascript. Para darle una mejor idea de por qué este operador es útil, considere el escenario mucho más común en el que el usuario necesita completar al menos uno de los múltiples campos de texto.

Digamos que tiene este HTML:







El usuario tiene la opción de completar varios números de teléfono, pero deberá proporcionar al menos uno.

La forma más sencilla de hacer esto (con jQuery en este caso) es:

var valid = false;
$('.phone-nr').each(function(i, item)= $(item).val();
); // untested code

valid estarán true si al menos un campo de entrada con clase phone-nrtiene un valor no vacío.

Si cada campo deber ser completado (un requisito más común) puede hacerlo así con el operador AND bit a bit:

var valid = true;
$('.phone-nr').each(function(i, item)
  valid &= $(item).val();
); // untested code

valid solo será true Si todo los campos de entrada tienen un valor.

Si se requiere completar al menos un campo, pero no más de uno puede utilizar el operador XOR:

var valid = false;
$('.phone-nr').each(function(i, item)
  valid ^= $(item).val();
); // untested code

Esos son, en mi opinión, los usos del mundo real de los operadores bit a bit en Javascript.

Si te apasiona la programación, tienes la libertad de dejar una noticia acerca de qué le añadirías a esta reseña.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *