Los nombres de las variables ES6 se denominan identificadores. Las reglas a tener en cuenta al nombrar un identificador. Puede contener letras y números, pero no puede ser el nombre de una palabra clave, no puede comenzar con un número y no puede contener espacios ni caracteres especiales , excepto el guión bajo (_) y el símbolo de dólar ($) .
Inicialización de variables: Se refiere al proceso de almacenar un valor en la variable. La inicialización de una variable se puede realizar en cualquier momento antes de su uso.
Tipo válido de sintaxis:
var $variable_name1 = value
var variablename1 = value
var nam$e1 = value
var _name$ = value
El siguiente ejemplo ilustra las variables de ES6:
Ejemplo:
<!DOCTYPE html> <html> <head> <script> var name = "Geeks" // type string(Dynamic Typing) document.write("The variable is : " + name); document.write("<br>Variable Type : " + typeof(name)) </script> </head> </html>
Producción:
The variable is : Geeks Variable Type : string
Escritura dinámica: JavaScript admite escritura dinámica similar a Python, Ruby, Perl, etc. Es una función en la que no tiene que decirle a JavaScript qué tipo de valor contiene la variable. Se activa y se ocupa de la variable automáticamente, incluso si el tipo de valor de la variable cambia durante la ejecución.
Alcance variable en JavaScript ES6:
- Ámbito global: una variable a la que se puede acceder desde cualquier parte del código JavaScript.
- Ámbito local: una variable a la que se puede acceder dentro de una función donde se declara.
- Ejemplo: Este ejemplo ilustra el alcance global y local:
<!DOCTYPE html>
<html>
<head>
<script>
var
$variable_name12 = 10
// Global variable can be accessed
// from anywhere
function
Geeks() {
// This local variable gets its
// own memory allocation even
// though it contains the same
// as the outer.
var
$variable_name12 = 100
document.write(
"<br>Inside Geeks() = "
+ $variable_name12)
}
document.write(
"Outside Geeks() = "
+ $variable_name12)
Geeks();
</script>
</head>
</html>
Producción:
Outside Geeks() = 10 Inside Geeks() = 100
El let y const:
- const: la declaración const crea una referencia de solo lectura a un valor.
Ejemplo:const pi = 3.14 pi = 4.15 // will result in an error!!
En lo anterior, más adelante, en el código, si intentamos cambiar el valor de pi , simplemente arroja un error. Se utiliza principalmente para constantes matemáticas. Las variables constantes son inmutables.
- let: esta palabra clave permite que el script restrinja el acceso a la variable al bloque de cierre más cercano. A cualquier variable declarada usando la palabra clave let se le asigna el alcance del bloque . El alcance del bloque es una sección en la que la variable let obtiene una declaración, ya sea un bloque {} , una función {} o global ( script ), esa sección tiene un acceso restringido.
Ejemplo
let n = 100; let n = 300; console.log(n);// Throw an error: Identifier 'n' has already been declared
ES6 y Izado de Variables: Permite Izar , utilizando las variables antes de su declaración. El concepto de elevación se aplica a la declaración de variables pero no a la inicialización de variables.
- Ejemplo:
<!DOCTYPE html>
<html>
<head>
<script>
// n gets hoisted to the global scope
n =
"Geeks"
;
function
geeks() {
// x gets hoisted to the function scope.
for
(
var
x = 0; x < 5; x++) {
document.write(
"<br>"
+ x);
}
document.write(
"<br>Hoisted variable(in function)"
+
" type x : "
+
typeof
(x));
document.write(
"<br>Hoisted variable(globally)"
+
" type n : "
+
typeof
(n));
}
// Results undefined
document.write(
"Hoisted variable(out function)"
+
" type x : "
+
typeof
(x));
document.write(
"<br>Hoisted variable(globally)"
+
" type n : "
+
typeof
(n));
geeks();
</script>
</head>
</html>
- Producción:
Hoisted variable(out function) type x : undefined Hoisted variable(globally) type n : string 0 1 2 3 4 Hoisted variable(in function) type x : number Hoisted variable(globally) type n : string
Nota: Se recomienda declarar siempre las variables en la parte superior de su alcance, para permitir que el código resuelva el alcance de la variable.