Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

235
Visualizações
¿Cuál es el nombre de este tipo de expresión en Javascript? obj[s] = ++obj[s] || 1

El ejemplo específico que tengo incrementará obj[s] si es verdadero (tiene un valor), y si es falso (aún no existe en el objeto) lo establecerá en 1 y, por lo tanto, lo agregará al objeto.

Pero lo que estoy preguntando, en general, parece:

 something = doIfTruthy || doIfFalsey

Estoy pensando que debe tener un nombre, tal como llamamos a este "operador ternario o condicional"

 something = condition? ifTrue: ifFalse

Me gustaría poder referirme a él por un nombre propio en mis notas. En este momento solo lo llamo "explotar verdad/falsedad" porque así es como lo uso.

También me pregunto cómo llamas a este tipo de expresión, porque es similar:

 something = condition && ifTrue
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede consultar esta página en MDN para obtener más información sobre los operadores, pero la esencia de lo que está preguntando es:

A || B

se llama el operador "O lógico", donde ejecutará expresiones de izquierda a derecha hasta que encuentre una verdadera, devolviendo la primera expresión verdadera.

A && B

se llama el operador "Lógico AND", donde ejecutará expresiones de izquierda a derecha hasta que encuentre una falsa, devolviendo la última expresión verdadera.

Nota al margen:

Personalmente, no recomendaría seguir los pasos del autor del código escribiendo cosas como obj[s] = ++obj[s] || 1 , ya que aunque es conciso, se necesita leer un poco para entenderlo. Considere algo como:

 obj[s] ||= 0; ++obj[s];

O:

 obj[s] = (obj[s] || 0) + 1;

O simplemente:

 if (typeof obj[s] !== 'number') obj[s] = 0; ++obj[s];
about 4 years ago · Juan Pablo Isaza Relatório

0

para || operaciones , JS devolverá el PRIMER valor "veraz" que encuentre (leyendo de izquierda a derecha):

 var bob = false || undefined || 0 || null || "hi" // ^ ^ ^ ^ ^ // nope nope nope nope yip // // => bob = "hi" // -------------- // breaking // -------------- var bob = false || "hi" || 0 || null || undefined // ^ ^ // nope yip <-- stops here // the rest are ignored // // => bob = "hi"

Otro truco es usar && (y) para asegurarse de que algo existe antes de acceder a él.

Para las operaciones && , JS devolverá el ÚLTIMO valor "veraz" que encuentre (leyendo de izquierda a derecha).

Por ejemplo, si intenta leer una propiedad de un objeto de varios niveles.

 var obj = { foo : { bar : "hi" } } var bob = obj && obj.foo && obj.foo.bar; // ^ ^ ^ // yip yip use this // // => bob = "hi" // -------------- // breaking: // -------------- var bob = obj && obj.foo && obj.foo.sally && obj.foo.bar; // ^ ^ ^ // yip yip nope <-- stops here, // ^ and returns the last "yip" // | the rest are ignored | // '-----------------------------------------------' // // => bob = obj.foo

Ambos || y las operaciones && se leen de izquierda a derecha... por lo que puede tener cosas que normalmente generarían errores hacia el lado derecho, ya que JS simplemente dejará de leer de izquierda a derecha una vez que detecte un valor verdadero/falso.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda