Acá escribo un poco sobre las variables usando var, let, const y los tipos de datos que pueden ser asignados a esas variables.

Los tipos de datos son básicamente variables o constantes.

<ul>
    <li>Las variables pueden ser cambiadas</li>
    <li>Las constantes siguen siendo las mismas.</li>
</ul>
<h3>Hablemos sobre var</h3>
<p>Las variables en JavaScript son contenedores que contienen datos reutilizables. Es comun inicializar variables de
    esta forma:</p>
js
var algo;
<p>Los valores o tipos de datos que podemos asignar a una variable son:</p> <ul> <li>String</li> <li>Number</li> <li>Boolean</li> <li>Null</li> <li>Undefined</li> <li>Array / Object</li> </ul> <h4>Ejemplo:</h4>

js
var nombre = 'Angel'; // String var edad = 40; // Number var hijos = true | false; // Boolean var telefono = null; // Null var negro; // Undefined

var arreglo = ['a','b','c',]; // Array var objeto = { nombre: 'Angel', edad: 40, };

Como declarar una variable:

<ul>
    <li>Los nombres deben comenzar con una cadena en minúscula.</li>
    <li>Los nombres no pueden contener símbolos o comenzar con símbolos.</li>
    <li>Los nombres no pueden comenzar con un número.</li>
    <li>Los nombres pueden contener una combinación de cadenas en mayúsculas, cadenas en minúsculas y números.<br><br></li>
</ul><p>
        
            Namecheap.com
        
        </p>
<p>

</p>

js
var name = 'Angel'; console.log(name); // Angel var name = 'Chris'; console.log(name); // Chris

El scope de var

<p>Es importante tener en cuenta el alcance (scope) de una variable declarada con var.</p>
<p>Ejemplo, si tenemos declarada la siguiente variable:</p>

js
var name = 'Angel';

La misma tiene un alcance global y puede ser utilizada donde se necesite.

<h4>¿Que pasa cuando usamos una función?</h4>
<p>Acá el scope de la variable declarada con var cambia ya que solo tiene acceso dentro de la función donde fue
    declarada, ejemplo:</p>

js
function sayMyName() { var name = 'Angel'; console.log(name); } sayMyName();

Efectivamente va a funcionar ya que veremos el output en la consola de desarrollo, a esto se le conoce como function scope

<p>

</p>
<h3>Y ya por último, halaremos sobre <code>block scope</code></h3>
<p>Por ejemplo:</p>

js
var age = 100;

if (age > 12) { var dogYears = age * 7; console.log('Tienes ' + dogYears + ' años de perro') // Tienes 700 años de perro }

A diferencia de function scope con los block scope ocurre algo interesante y es que se pueden acceder a las variables que esten dentro de {}

<p>Si vamos a nuestra consola y escribimos <code>dogYears</code> vamos a tener como resultado el valor 700</p>
<h3>Hablemos sobre let y const</h3>
<p>Las variables declaradas con <code>let</code> y <code>const</code> son del tipo <code>block scope</code></p>
<p>Por ejemplo:</p>

js
var age = 100;

if (age > 12) { let dogYears = age * 7; console.log('Tienes ' + dogYears + ' años de perro') // Tienes 700 años de perro }

Lo de arriba funcionaría exactamente igual, la unica diferencia estaría en el momento de acceder a la varaiable dogYears vamos a obtener un error de varaible no declarada ya que la variable declarada con let solo se puede acceder y usar dentro de {}

Esto tambíen ocurre si cambiamos let por cont.

Namecheap.com