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

180
Visualizações
el valor no está definido y se aplica un cheque en el javascript

el problema que tengo es que el segmento no está definido: no se pueden leer las propiedades de undefined (leyendo 'segmento') ¿cómo puedo escribir un código para usar si el valor no está definido o es un error, simplemente use $("#x").val().slice(3,5)

intenté así pero parece que no funciona

 w = (typeof x.val() !== 'undefined') ? $("#x").val().slice(3,5) : 0;
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

x.val() y $("#x").val() son cosas muy diferentes, a menos que suceda que x sea el resultado de una llamada anterior a $("#x") .

La única vez que el val de jQuery devuelve undefined es si lo llama en un conjunto vacío (lo que significaría que no hay ningún elemento con id="x" en el DOM cuando hace $("#x") ). La manera simple de hacer esto es tomar el valor y luego hacer la verificación:

 const val = x.val(); // Or `= $("#x").val()`, whatever is the one you actually want w = typeof val !== "undefined" ? val.slice(3,5) : 0;

Sin embargo, tenga en cuenta que está asignando una cadena a w en un caso pero un número en el otro. Por lo general, es mejor que sea consistente, ya sea que use siempre una cadena o siempre use un número.

about 4 years ago · Juan Pablo Isaza Relatório

0

En JavaScript, tanto el valor undefined como las cadenas vacías se consideran falsos y se evaluarán como falsos si se usan como argumentos booleanos. Puede usar este comportamiento para crear comprobaciones nulas muy simples con algunos paréntesis.

 w = ($('#x').val() || '').slice(3,5) || 0;

Este código primero agregará una verificación segura indefinida/nula a su operación $(...).val() usando una operación lógica o ( || ). Entonces, si no se encuentra ningún valor, se devolverá una cadena vacía en su lugar.

Una vez hecho esto, el segmento se aplicará al valor o a una cadena vacía. Si el resultado del segmento es una cadena vacía, se devuelve un 0 en su lugar.

Tenga en cuenta que en su ejemplo inicial también está intentando abordar la variable x en lugar de usar $('#x') . Estos no son intercambiables a menos que primero asigne var x = $('#x') .

about 4 years ago · Juan Pablo Isaza Relatório

0

Considera lo siguiente.

 $(function() { var w; $("#btn").click(function() { var x = $("#x").val(); w = (x !== undefined || x.length >= 4 ? x.slice(3, 5) : "0"); console.log(w); }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div> <input type="text" id="x"> <button id="btn">Go</buton> </div>

Esto comprueba si x no está undefined o si la longitud de la cadena es lo suficientemente larga para cortarla.

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