# 🧐🤓Tipos de datos y valores en Javascript💻

El tipo de dato es una propiedad de un valor que determina valores que puede tomar, que tipos de operaciones podemos realizar sobre este y cómo su representación interna.

En JavaScript encontramos diferentes tipos de valores y tipos de datos para almacenar en variables.

### 💡 Valores y tipos

*Tipo principales (primitivos)*

> *string number boolean*

*Tipo compuesto*

> *Objeto*

> *Matriz*

*Tipo especiales*

> *Null*

> *Undefined*

En el caso de ES6 se presenta un nuevo tipo de este tipo de denominación como `symbol`este tipo de datos cuyos valores son únicos y no pueden ser alterados.

JavaScript proporciona un operador llamado `typeof`este operador que puede examinar un valor y decirle qué tipo es:

Como les comentaba en el capitulo [anterior](https://medium.com/@imanol_suarez/javascript-diferentes-operadores-6840ba8cf29) JavaScript presenta un operador llamado `typeof` este operador nos permite a nosotros como desarrolladores saber de que tipo es la variable:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469091529/eD_OxP_ck.png)

Este operador es especial dado que nos permite a nosotros conocer el tipo(number, boolean, undefined,object,) que tiene la variable sobre la cual vamos a realizar una acción.

### 💡 String

Un valor de cadena es un conjunto de caracteres Unicode(letras,digitos,signos de puntuación y mas),este tipo de dato es el encargado de representar texto en JavaScript

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469092925/sK_Lh1x_z.png)

### 💡 Number

En JavaScript, no se distingue entre los valores enteros y de punto flotante; un número de JavaScript puede ser cualquiera de ellos (internamente, JavaScript representa todos los números como valores de punto flotante).

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469094379/Tl8p6kA2U.png)

### 💡 Boolean

Este tipo de dato almacena 1 bit puede ser `true` o `false` son utilizados para registrar un estado (VERDADERO O FALSO)

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469095651/-Io_TeKz1.png)

### 💡 Objetos

Dado que JavaScript esta diseñado en un paradigma basado a objetos. Decimos que un objeto es una colección de propiedades, estos objetos se pueden comparar con objetos de la vida real objetos tangibles.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469097108/E0hFzALTx.png)

Otra manera de acceder a las propiedades de estos objetos es de la siguiente manera:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469098620/WtzBxRg9n.png)

Acceder (por índice) a un elemento Array

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469100142/uNf1L2ypv.png)

Ahora si nos ponemos a pensar la posición nombre\[1\] debería ser Mariano, bueno al comenzar a programar esto puede sonar un poco raro, pero en programación arrancamos a contar desde el numero cero(0).

Otro ejemplo

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469101479/eRiDWy5Um.png)

Este array(marcasDeComputadoras) esta compuesto por 5 elementos arrancando por HP y finalizando en Acer

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469102979/mkhlsEPw7.png)

### 💡 Undefined

Este tipo de dato se utiliza cuando no sabemos el contenido de una variable o todavía no fue definido.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1648469104712/GuYvRNN7v.png)

### 💡 Null

El tipo de dato `null` tiene solamente el valor `null`. La palabra clave reservada `null` no puede ser utilizada como nombre de una función o una variable

Una variable que contiene `null` no contiene ningún tipo de numero, cadena o valor booleano ni una matriz u objeto. Este tipo de dato no es 0 como en otros lenguajes como C o C++, declarando una variable de tipo `null` y utilizando el operador typeof interpreta el valor como Object no como tipo `null`

Gracias por leer 💻

🤓 Puedes seguirme en Twitter o encontrarme en GitHub visitando mi sitio web

[**Francisco Imanol Suarez on about.me**  
*I am a web developer, student, and photographer in Trelew, Argentina. Read my articles.*about.me](https://about.me/franciscoimanol "https://about.me/franciscoimanol")[](https://about.me/franciscoimanol)
