¿Cómo devolver el tipo de datos de la variable en JavaScript?

En JavaScript, a diferencia de muchos otros lenguajes de programación, no especificamos el tipo de una variable mientras la declaramos, sino que el tipo de la variable se infiere automáticamente en función del valor que contiene. En otras palabras, JavaScript es un lenguaje de programación de «tipo dinámico». En dichos lenguajes, el tipo de una variable puede cambiar a lo largo del programa.

Ejemplo

Javascript

<script>
  
    // x is a number
    var x = 4242;
    console.log(x);
  
    // x is a string
    x = "GeeksforGeeks";
    console.log(x)
  
    // x is an object
    x = {
        k: 4245,
        a: "geeks"
    }; 
    console.log(x)
</script>

Producción:

4242
GeeksforGeeks
{k: 4245, a: "geeks"}

Como se ve en el ejemplo anterior, x se inicializó en un número, luego lo inicializamos en una string y luego en un objeto. Esto dificulta el seguimiento del tipo de variable ‘x’ en todo el programa.

typeof: La palabra clave typeof ayuda a determinar el tipo de una variable en Javascript. Dado que Javascript es un lenguaje de programación de tipo dinámico, se puede usar typeof para encontrar el tipo de variable.

Se puede usar dentro de una función para verificar el tipo de datos de una variable o para verificar si una variable está declarada.

Consideremos los siguientes ejemplos para entender esto mejor.

Ejemplo 1:

Javascript

<script>
  
    var x = 12345;
    console.log(typeof(x));
      
</script>

Producción:

number

Ejemplo 2:

Javascript

<script>
  
    var x = "GeeksforGeeks";
    console.log(typeof(x));
  
</script>

Producción:

string

Ejemplo 3:

Javascript

<script>
    
  var x = { k : 12, m : "geeky stuff"}
  console.log(typeof(x))
  console.log(typeof(x.k))
  console.log(typeof(x.m))
  console.log(typeof(x.s))
  
</script>

Producción:

object
number
string
undefined

Un uso común del operador typeof es determinar el tipo de variable y realizar acciones en consecuencia dentro de una función.

Ejemplo:

Javascript

<script>
    function doX(x) {
        if (typeof(x) === "number") {
            console.log("x is a number")
        }
        if (typeof(x) === "string") {
            console.log("x is a string")
        }
        if (typeof(x) === "undefined") {
            console.log("x is undefined")
        }
    }
  
    doX(12)
    doX("hello gfg")
</script>

Invoque la función anterior con número y string como argumento.

Producción:

x is a number
x is a string

Otro uso del operador typeof es verificar si una variable se declara antes de su uso.

Ejemplo:

Javascript

<script>
    function checkX(x) {
        if (typeof(x) === "undefined") {
            console.log(
    "x is undefined. Please declare it");
        } else {
            console.log("We can process x!")
        }
    }
  
    checkX()
    checkX("hello")
</script>

Invocando la función anterior sin pasar un argumento y pasando una string como argumento.

Producción:

x is undefined. Please declare it
We can process x!

Una pequeña advertencia con typeof es que typeof(NaN) devuelve un número. Cuando multiplicamos una string con un número, obtenemos NaN, como se ve en el siguiente ejemplo.

Ejemplo:

Javascript

<script>
    var x = "hello"
    console.log(x)
  
    var y = 10
    console.log(y)
      
    z = x * y
    console.log(z)
    console.log(typeof(z))
</script>

Producción:

hello
10
NaN
number

Publicación traducida automáticamente

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