¿Qué es la coerción de tipos en JavaScript?

Tipo Coerción se refiere al proceso de conversión automática o implícita de valores de un tipo de datos a otro. Esto incluye la conversión de Número a String, String a Número, Booleano a Número, etc. cuando se aplican diferentes tipos de operadores a los valores.

En caso de que el comportamiento de la conversión implícita no sea seguro, los constructores de un tipo de datos se pueden usar para convertir cualquier valor a ese tipo de datos, como el constructor Number() , String() o Boolean() .

1. Conversión de string a número: cuando cualquier valor de string o no string se agrega a una string, siempre convierte el valor que no es string en una string implícitamente. Cuando se agrega la string ‘Rahul’ al número 10, JavaScript no da ningún error. Convierte el número 10 en la string ’10’ usando coerción y luego concatena ambas strings. A continuación se muestran algunos ejemplos más.

Ejemplo:

<!DOCTYPE html>
<html>
  
<head>
    <title>
        What is Type Coercion 
        in JavaScript?
    </title>
</head>
  
<body>
    <h1 style="color: green;">
        GeeksforGeeks
    </h1>
      
    <h2>Type Coercion</h2>
      
    <h3>Output</h3>
      
    <script>
          
        // The Number 10 is converted to
        // string '10' and then '+'
        // concatenates both strings   
        var x = 10 + '20';
        var y = '20' + 10;
  
        // The Boolean value true is converted
        // to string 'true' and then '+'
        // concatenates both the strings
        var z = true + '10';
  
        document.write(x);
        document.write("<br>");
        document.write(y);
        document.write("<br>");
        document.write(z);
    </script>
</body>
  
</html>

Producción:

2. Conversión de string a número: cuando se realiza una operación como resta (-), multiplicación (*), división (/) o módulo (%), todos los valores que no son números se convierten al tipo de datos de número, ya que estos Las operaciones solo se pueden realizar entre números. A continuación se muestran algunos ejemplos de esto.

Ejemplo:

<!DOCTYPE html>
<html>
  
<head>
    <title>
        What is Type Coercion
        in JavaScript?
    </title>
</head>
  
<body>
    <h1 style="color: green;">
        GeeksforGeeks
    </h1>
  
    <h2>Type Coercion</h2>
  
    <h3>Output</h3>
  
    <script>
          
        // The string '5' is converted
        // to number 5 in all cases
        // implicitly 
        var w = 10 - '5';
        var x = 10 * '5';
        var y = 10 / '5';
        var z = 10 % '5';
  
        document.write(w);
        document.write("<br>")
        document.write(x);
        document.write("<br>")
        document.write(y);
        document.write("<br>")
        document.write(z);         
    </script>
</body>
  
</html>

Producción:

3. Boolean to Number: cuando se agrega un booleano a un número, el valor booleano se convierte en un número, ya que es más seguro y más fácil convertir valores booleanos en valores numéricos. Un valor booleano se puede representar como 0 para ‘falso’ o 1 para ‘verdadero’. A continuación se muestran algunos ejemplos de esto.

Ejemplo:

<!DOCTYPE html>
<html>
  
<head>
    <title>
        What is Type Coercion
        in JavaScript?
    </title>
</head>
  
<body>
    <h1 style="color: green;">
        GeeksforGeeks
    </h1>
  
    <h2>Type Coercion</h2>
  
    <h3>Output</h3>
  
    <script>
        // The Boolean value true is
        // converted to number 1 and
        // then operation is performed
        var x = true + 2;
  
        // The Boolean value false is
        // converted to number 0 and
        // then operation is performed
        var y = false + 2;
  
        document.write(x);
        document.write("<br>")
        document.write(y);         
    </script>
</body>
  
</html>

Producción:

4. El Operador de Igualdad: El operador de igualdad (==) se puede utilizar para comparar valores independientemente de su tipo. Esto se hace obligando a un tipo de datos no numérico a un número. Algunos ejemplos de esto se muestran a continuación:

Ejemplo:

<!DOCTYPE html>
<html>
  
<head>
    <title>
        What is Type Coercion
        in JavaScript?
    </title>
</head>
  
<body>
    <h1 style="color: green;">
        GeeksforGeeks
    </h1>
  
    <h2>Type Coercion</h2>
  
    <h3>Output</h3>
  
    <script>
  
        // Should output 'true' as string '10'
        // is coerced to number 10 
        var x = (10 == '10');
  
        // Should output 'true', as boolean true
        // is coerced to number 1
        var y = (true == 1);
  
        // Should output 'false' as string 'true'
        // is coerced to NaN which is not equal to
        // 1 of Boolean true
        var z = (true == 'true');
  
        document.write(x);
        document.write("<br>");
        document.write(y);
        document.write("<br>");
        document.write(z);
    </script>
</body>
  
</html>

Producción:
 

Publicación traducida automáticamente

Artículo escrito por kumaravnish792 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 *