Los 5 comportamientos más extraños de JavaScript

En este artículo, hablaremos sobre los hechos extraños de JavaScript . JavaScript es famoso por su amplia aceptación y también por su rareza. Los ejemplos que se dan a continuación pueden sorprender a los desarrolladores que vienen de C++, Java, C# y otros lenguajes. JavaScript es un lenguaje de programación orientado a objetos, pero el concepto de clase se introdujo en ES6. Puede escribir comentarios HTML en JavaScript, min es mayor que max y aquí se cubrirán muchas más rarezas de JavaScript.

1. Comentarios HTML en JavaScript: puede escribir comentarios HTML en JavaScript para su validez. Puede usar la etiqueta HTML <!– –> en su código JavaScript sin ningún error porque estos comentarios se tratan como // del comentario JavaScript. Estos comentarios se usan en la etiqueta <script> para el navegador antiguo que no entiende JavaScript.

  • Ejemplo:

    JavaScript

    <script>
      console.log("Hello world");
      <!-- console.log('Hello World') -->
    </script>

    Producción :

    Hello world

2. Min es mayor que Max: Math.min () es mayor que Math.max()

  • Ejemplo 1:

    JavaScript

    <script>
      var a = Math.max() < Math.min();
      var b = Math.max() > Math.min();
      
      console.log(a);
      console.log(b);
    </script>

    Producción :

    true
    false
  • Ejemplo 2: Una cosa más que es Math.max() devuelve -Infinito y Math.min() devuelve Infinito

    JavaScript

    <script>
      var a = Math.max();
      var b = Math.min();
      
      console.log(a);
      console.log(b);
    </script>

    Producción :

    -Infinity
    Infinity

3. En JavaScript verdadero + verdadero + verdadero == 3 Puedes ver verdadero + verdadero + verdadero es igual a 3.

  • Ejemplo 1: Esto devuelve 3 porque cuando agregamos dos booleanos (verdadero o falso), automáticamente se encasillan en número. En este ejemplo, el verdadero se convierte en número y cuando escribimos convertir verdadero en un número, obtenemos 1 y cuando escribimos falso en número, obtenemos 0.

    JavaScript

    <script>
      var a = true + true + true;
      
      console.log(a);
    </script>

    Salida: Entonces verdadero + verdadero + verdadero se convierte en 1 + 1 + 1, por lo que obtuvimos el resultado 3.

  •  

  • Ejemplo 2:

    JavaScript

    <script>
      let a = Number(true);
      let b = Number(false);
      
      console.log(a);
      console.log(b);
    </script>

    Producción:

    1
    0
  • Ejemplo 3: Aquí hay algunos resultados interesantes relacionados con este ejemplo.

    JavaScript

    <script>
      var a = true + true;
      var b = true + false;
      var c = false + false;
      var d = 2 * true;
      var e = 2 * false;
      
      var f = (true + true) * (true + true) - true;
      console.log(a, b, c, d, e, f);
    </script>

    Producción:

    2
    1
    0
    2
    0
    3

4. NaN no es NaN: NaN no es igual a NaN incluso cuando usamos el operador de igualdad estricta (===).

  • Ejemplo:

    JavaScript

    <script>
      var a = NaN;
      var b = NaN;
      
      console.log(a == b);
      console.log(a === b);
    </script>

    Producción:

    false
    false

5. El verdadero es falso: Cuando comparamos la string verdadera y la string falsa después de aplicar dos! operador, entonces obtenemos true.

  • Ejemplo 1: cuando aplicamos dos operadores lógicos no, obtenemos verdadero.

    JavaScript

    <script>
      console.log(!!"true" == !! "false");
      console.log(!!"true" === !! "false");
      console.log(!!"Hello" == !! "world");
    </script>

    Producción:

    true
    true
    true
  • Ejemplo 2: Cuando comparamos verdadero y verdadero, obtenemos verdadero.

    JavaScript

    <script>
      console.log(!!"Geeksforgeeks");
      
      console.log(!!"true");
    </script>

    Producción:

    true
    

Publicación traducida automáticamente

Artículo escrito por _saurabh_jaiswal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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