Tutorial JS

JS INICIO JS Introducción JS Dónde Salida JS Declaraciones JS Sintaxis JS Comentarios JS Variables JS JS Vamos Constante JS Operadores JS Aritmética JS Tarea JS Tipos de datos JS Funciones JS Objetos JS Eventos JS Cadenas JS Métodos de cadena JS Búsqueda de cadenas JS Plantillas de cadena JS Números JS Métodos numéricos JS Matrices JS Métodos de matriz JS Clasificación de matriz JS Iteración de matriz JS Constante de matriz JS Fechas JS Formatos de fecha JS Métodos de obtención de fecha JS Métodos de configuración de fechas JS Matemáticas JS JS al azar Booleanos JS Comparaciones JS Condiciones JS Interruptor JS Bucle JS para Bucle JS para entrada Bucle JS para de Bucle JS mientras descanso JS Iterables JS Conjuntos JS Mapas JS JS Tipo de Conversión de tipo JS JS bit a bit JS expresión regular Errores JS Alcance JS JS Elevación Modo estricto JS JS esta palabra clave Función de flecha JS Clases JS JSJSON Depuración JS Guía de estilo JS Prácticas recomendadas de JS Errores JS Rendimiento JS Palabras reservadas de JS

Versiones JS

Versiones JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Borde Historia de JS

Objetos JS

Definiciones de objetos Propiedades del objeto Métodos de objeto Visualización de objetos Accesores de objetos Constructores de objetos Prototipos de objetos Objeto iterables Conjuntos de objetos Mapas de objetos Referencia de objeto

Funciones JS

Definiciones de funciones Parámetros de función Invocación de función Llamada de función Función Aplicar Cierres de funciones

Clases JS

Introducción a la clase Herencia de clase Clase estática

JS asíncrono

Devoluciones de llamada JS JS asíncrono Promesas JS JS asíncrono/espera

JS HTML DOM

Introducción al DOM Métodos DOM Documento DOM Elementos DOM DOM HTML Formularios DOM DOM CSS Animaciones DOM Eventos DOM Oyente de eventos DOM Navegación DOM Nodos DOM Colecciones DOM Listas de nodos DOM

Lista de materiales del navegador JS

Ventana JS Pantalla JS Ubicación de JS Historia de JS Navegador JS Alerta emergente JS Tiempo JS Galletas JS

API web de JS

Introducción a la API web API de formularios web API de historial web API de almacenamiento web API de trabajo web API de búsqueda web API de geolocalización web

JS AJAX

Introducción a AJAX AJAX XMLHttp Solicitud AJAX Respuesta AJAX Archivo XML AJAX AJAXPHP Ajax ASP Base de datos AJAX Aplicaciones AJAX Ejemplos de AJAX

JSJSON

Introducción JSON Sintaxis JSON JSON frente a XML Tipos de datos JSON Análisis JSON Cadena JSON Objetos JSON Matrices JSON Servidor JSON JSONPHP JSONHTML JSON JSONP

JS frente a jQuery

Selectores jQuery HTML de jQuery CSS de jQuery DOM de jQuery

Gráficos JS

Gráficos JS Lienzo JS JS Trazado Gráfico JS.js Gráfico de Google JS JS D3.js

Ejemplos de JS

Ejemplos de JS JS HTML DOM Entrada HTML JS Objetos JS HTML Eventos JS HTML Navegador JS Editor JS Ejercicios JS Prueba JS Certificado JS

Referencias JS

Objetos JavaScript Objetos HTML DOM


Constante de JavaScript

La constpalabra clave se introdujo en ES6 (2015) .

Las variables definidas con constno se pueden volver a declarar.

Las variables definidas con constno se pueden reasignar.

Las variables definidas con consttienen ámbito de bloque.

No se puede reasignar

Una constvariable no se puede reasignar:

Ejemplo

const PI = 3.141592653589793;
PI = 3.14;      // This will give an error
PI = PI + 10;   // This will also give an error

debe ser asignado

A las variables de JavaScript constse les debe asignar un valor cuando se declaran:

Correcto

const PI = 3.14159265359;

Incorrecto

const PI;
PI = 3.14159265359;

¿Cuándo usar JavaScript const?

Como regla general, siempre declare una variable con consta menos que sepa que el valor cambiará.

Úselo constcuando declare:

  • Una nueva matriz
  • Un nuevo objeto
  • Una nueva función
  • Una nueva expresión regular

Objetos constantes y matrices

La palabra clave constes un poco engañosa.

No define un valor constante. Define una referencia constante a un valor.

Por eso NO puedes:

  • Reasignar un valor constante
  • Reasignar una matriz constante
  • Reasignar un objeto constante

    Pero puedes:

  • Cambiar los elementos de la matriz constante
  • Cambiar las propiedades del objeto constante

Matrices constantes

Puede cambiar los elementos de una matriz constante:

Ejemplo

// You can create a constant array:
const cars = ["Saab", "Volvo", "BMW"];

// You can change an element:
cars[0] = "Toyota";

// You can add an element:
cars.push("Audi");

Pero NO puede reasignar la matriz:

Ejemplo

const cars = ["Saab", "Volvo", "BMW"];

cars = ["Toyota", "Volvo", "Audi"];    // ERROR

Objetos constantes

Puede cambiar las propiedades de un objeto constante:

Ejemplo

// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};

// You can change a property:
car.color = "red";

// You can add a property:
car.owner = "Johnson";

Pero NO puedes reasignar el objeto:

Ejemplo

const car = {type:"Fiat", model:"500", color:"white"};

car = {type:"Volvo", model:"EX60", color:"red"};    // ERROR

Compatibilidad con navegador

La constpalabra clave no es compatible con Internet Explorer 10 o anterior.

La siguiente tabla define las primeras versiones del navegador con soporte completo para la constpalabra clave:

Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
Mar, 2016 Oct, 2013 Feb, 2015 Sep, 2016 Mar, 2016


Ámbito de bloque

Declarar una variable con constes similar a let cuando se trata de Block Scope .

La x declarada en el bloque, en este ejemplo, no es la misma que la x declarada fuera del bloque:

Ejemplo

const x = 10;
// Here x is 10

{
const x = 2;
// Here x is 2
}

// Here x is 10

Puede obtener más información sobre el ámbito del bloque en el capítulo Ámbito de JavaScript .


redeclarando

Se permite volver a declarar una variable de JavaScript varen cualquier parte de un programa:

Ejemplo

var x = 2;     // Allowed
var x = 3;     // Allowed
x = 4;         // Allowed

No se permite redeclarar una variable existente varo let a const, en el mismo ámbito:

Ejemplo

var x = 2;     // Allowed
const x = 2;   // Not allowed

{
let x = 2;     // Allowed
const x = 2;   // Not allowed
}

{
const x = 2;   // Allowed
const x = 2;   // Not allowed
}

No se permite reasignar una constvariable existente, en el mismo ámbito:

Ejemplo

const x = 2;     // Allowed
x = 2;           // Not allowed
var x = 2;       // Not allowed
let x = 2;       // Not allowed
const x = 2;     // Not allowed

{
  const x = 2;   // Allowed
  x = 2;         // Not allowed
  var x = 2;     // Not allowed
  let x = 2;     // Not allowed
  const x = 2;   // Not allowed
}

Se permite redeclarar una variable con const, en otro ámbito o en otro bloque:

Ejemplo

const x = 2;       // Allowed

{
  const x = 3;   // Allowed
}

{
  const x = 4;   // Allowed
}

elevación constante

Las variables definidas con varse elevan a la parte superior y se pueden inicializar en cualquier momento.

Significado: puede usar la variable antes de que se declare:

Ejemplo

Esto esta bien:

carName = "Volvo";
var carName;

Si desea obtener más información sobre la elevación, estudie el capítulo Elevación de JavaScript .

Las variables definidas con consttambién se elevan a la parte superior, pero no se inicializan.

Significado: el uso de una constvariable antes de declararla dará como resultado ReferenceError:

Ejemplo

alert (carName);
const carName = "Volvo";