Get to know MDN better
Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
El operador lógico OR (||) (disyunción lógica) es verdadero para un conjunto de operandos si y solo si uno o más de sus operandos es verdadero. Es normalmente usado con valores booleanos (lógicos). Cuando es así, retorna un valor booleano. Sin embargo, el operador || puede retornar el valor de uno de los operandos especificados, por lo que si este operador es usado con valores no booleanos, retornará un valor no booleano.
Si x puede ser convertida a true, retorna x; en caso contrario, retorna y.
Si un valor puede ser convertido a true, el valor es conocido como truthy. Si un valor puede ser convertido a false, el valor es conocido como falsy.
Ejemplos de expresiones que pueden ser convertidas a false son:
Aunque el operador || puede ser usado con operandos que no son valores booleanos, aún puede ser considerado un operador booleano ya que su valor de retorno siempre puede ser convertido a un booleano primitivo. Para explícitamente convertir su valor de retorno (o cualquier expresión en general) al correspondiente valor booleano, se debe usar un doble (operador lógico NOT) o el contructor del objeto Boolean.
La expresión lógica OR es evaluada de izquierda a derecha, es posible una evaluación de cortocircuito (short-circuit) usando la siguiente regla:
(alguna expresión truthy) || expresión es evaluada por cortocircuito (short-circuit) a la expresión truthy.
Cortocircuito (Short-circuit) significa que la parte de la expresión de arriba no es evaluada, por lo que ningún efecto secundario resultante de ella es realizado (por ejemplo, si la expresión es una llamada a una función, la llamada nunca es realizada). Esto ocurre porque el valor del operador ya está determinado después de la evaluación del primer operando. Veamos un ejemplo:
Las siguientes expresiones pueden parecer equivalentes, pero no lo son, porque el operador && es ejecutado antes del operador || (véase precedencia de operadores).
El siguiente código muestra ejemplos del operador lógico OR (||).
Nota: Si se usa este operador para proveer un valor por defecto a alguna variable, se debe ser consciente que cualquier valor falsy no será usado. Si solo se necesita filtrar null o undefined, considere usar el operador de coalescencia nula (??).
La siguiente operación involucra booleanos:
es siempre igual a:
La siguiente operación involucra booleanos:
es siempre igual a:
Ya que las expresiones lógicas son evaluadas de izquierda a derecha, siempre es posible remover los paréntesis de una expresión compleja siguiendo las siguientes reglas.
La siguiente operación compuesta involucra booleanos:
es siempre igual a:
| ECMAScript® 2027 Language Specification # prod-LogicalORExpression |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 20 jun 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.