javascript español definicion - '\ n \ t \ r' == 0 es cierto?





2 Answers

Como JavaScript es un lenguaje poco tipado, intenta escribir su primer lado de la comparación para que coincidan entre sí.

Cualquier cadena que no contenga un número, se convierte en 0 cuando se compara con un número entero, y se convierte en verdadera (excepto en ciertas situaciones), cuando se compara con un booleano.

Material de lectura ligera

caracteristicas descargar html

Hoy, cuando estaba haciendo algunos experimentos con == , accidentalmente descubrí que "\n\t\r" == 0 . ¿Cómo diablos hace "\n\t\r" igual a 0 , o false ?

Lo que hice fue:

var txt = "\n";  //new line
txt == 0;        //it gives me true

Y eso realmente me molesta. Entonces hice más:

var txt = "\r";  //"return"
txt == 0;        //true

var txt = "\t";  //"tab"
txt == 0;        //true

No tiene sentido, en absoluto. ¿Cómo es eso? Y más loco es esto:

//Checking for variable declared or not

var txt ="\n\t\r";
if(txt!=false){
    console.log("Variable is declared.");
}else{
    console.log("Variable is not declared.");
}

Lo que me da es que la Variable is not declared.

¿Cómo es igual a 0 o false ?




La razón es que "\n\t\r" como " " se tratan como cadenas vacías. Si usa == , devolverá true pero si usa === , devolverá false .

Si quieres probar la existencia, debes usar algo como

if(typeof strName !== 'undefined') {
    /*do something with strName*/
} else {
    /*do something without it*/
}



Related


Tags

javascript