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