04- 馃摑 Declaraciones (Statements) en JavaScript




馃摐 Statements

馃З Los **statements** o **sentencias** en JavaScript son las **instrucciones** que le indicas al navegador que debe **ejecutar**. Imagina que cada sentencia es un paso en una receta o una orden en una secuencia de acciones. Un programa JavaScript est谩 formado por una o m谩s de estas sentencias, que se ejecutan en el orden en que aparecen, de arriba a abajo.

Las sentencias en JavaScript pueden ser de muchos tipos, realizando diversas acciones. Algunas de las m谩s comunes incluyen:

  • Declaraciones de variables: Se utilizan para crear y, opcionalmente, inicializar variables (let, const, var).
    let nombre = "Carlos"; const PI = 3.14159;
  • Sentencias de asignaci贸n: Se utilizan para asignar valores a las variables (operador =).
    edad = 31;
  • Sentencias de control de flujo: Controlan el orden en que se ejecutan las sentencias, permitiendo tomar decisiones (if, else, switch) y realizar repeticiones (for, while, do...while).
    if (edad > 18) { console.log("Es mayor de edad."); }
  • Llamadas a funciones: Ejecutan bloques de c贸digo reutilizables (funciones).
    saludar("Ana");
  • Sentencias de expresi贸n: Cualquier expresi贸n v谩lida en JavaScript que tambi茅n puede tener efectos secundarios (por ejemplo, una asignaci贸n o una llamada a una funci贸n).
    contador++;
  • Sentencias de retorno: Se utilizan dentro de las funciones para devolver un valor y finalizar la ejecuci贸n de la funci贸n (return).
    function sumar(a, b) { return a + b; }

馃攽 En resumen: Las statements son las unidades b谩sicas de acci贸n en JavaScript. Cada l铆nea de c贸digo que realiza una tarea es una sentencia. Los programas JavaScript son secuencias de estas sentencias que el navegador ejecuta para lograr un comportamiento espec铆fico.

馃捇 JavaScript Programs

馃殌 Un **programa JavaScript** es esencialmente una **secuencia de instrucciones** o **statements** que el navegador interpreta y ejecuta para llevar a cabo una tarea espec铆fica o para a帽adir interactividad a una p谩gina web. Estas instrucciones se ejecutan generalmente en el **orden en que aparecen** en el c贸digo, de forma secuencial.

Los programas JavaScript pueden variar enormemente en su complejidad, desde unas pocas l铆neas de c贸digo que realizan una acci贸n simple hasta miles de l铆neas que componen aplicaciones web completas y sofisticadas.

Caracter铆sticas clave de los programas JavaScript:

  • Secuencialidad: Las sentencias se ejecutan una tras otra, a menos que una estructura de control de flujo (como un if o un bucle for) altere este orden.
  • L贸gica: Los programas implementan una l贸gica espec铆fica para manipular datos, responder a eventos del usuario, modificar el DOM (Document Object Model) y realizar otras acciones.
  • Interacci贸n: Muchos programas JavaScript est谩n dise帽ados para interactuar con el usuario a trav茅s de eventos (clics, movimientos del rat贸n, etc.) y modificar la p谩gina en respuesta a estas interacciones.
  • Modularidad (a menudo): Los programas m谩s grandes suelen estar organizados en funciones y m贸dulos para facilitar la reutilizaci贸n del c贸digo y el mantenimiento.

Ejemplo simple de un programa JavaScript:

// Este es un programa JavaScript simple let mensaje = "¡Hola, mundo!"; // Declaraci贸n y asignaci贸n de una variable console.log(mensaje); // Llamada a una funci贸n para mostrar el mensaje function saludar(nombre) { // Declaraci贸n de una funci贸n let saludo = "¡Hola, " + nombre + "!"; console.log(saludo); } saludar("Usuario"); // Llamada a la funci贸n saludar

En este ejemplo, el programa realiza las siguientes acciones en secuencia:

  1. Declara una variable llamada mensaje y le asigna el valor "¡Hola, mundo!".
  2. Llama a la funci贸n console.log() para mostrar el valor de la variable mensaje en la consola.
  3. Declara una funci贸n llamada saludar que toma un argumento nombre y muestra un saludo personalizado en la consola.
  4. Llama a la funci贸n saludar con el argumento "Usuario".

馃攽 En resumen: Un programa JavaScript es una secuencia l贸gica de statements que trabajan juntas para realizar una tarea. La clave para entender los programas JavaScript es comprender c贸mo se ejecutan las sentencias en orden y c贸mo las estructuras de control pueden alterar este flujo para crear un comportamiento din谩mico e interactivo.

馃搼 JavaScript Statements

馃摑 Como mencionamos anteriormente, una **sentencia JavaScript** es una **instrucci贸n individual** que le dice al navegador qu茅 acci贸n realizar. Cada l铆nea de c贸digo JavaScript que ejecuta una tarea espec铆fica es una sentencia.

Las sentencias pueden realizar diversas acciones, como:

  • Declarar variables.
  • Asignar valores a variables.
  • Realizar operaciones aritm茅ticas.
  • Llamar a funciones.
  • Crear estructuras de control de flujo (decisiones y bucles).
  • Devolver valores desde funciones.

El punto y coma (;):

Tradicionalmente, **cada sentencia JavaScript debe terminar con un punto y coma (;)**. El punto y coma act煤a como un **separador**, indicando el final de una sentencia y permitiendo que m煤ltiples sentencias se escriban en la misma l铆nea (aunque esto generalmente se desaconseja por razones de legibilidad).

Ejemplos de sentencias:

let x; // Declaraci贸n de una variable x = 5; // Asignaci贸n de un valor let y = 10; // Declaraci贸n e inicializaci贸n let suma = x + y; // Operaci贸n aritm茅tica y asignaci贸n console.log(suma); // Llamada a una funci贸n if (suma > 10) { // Sentencia de control de flujo console.log("La suma es mayor que 10."); }

En este ejemplo, cada l铆nea (excepto el bloque if) es una sentencia individual terminada por un punto y coma.

Omisi贸n del punto y coma (Semicolon Insertion - ASI):

Curiosamente, en muchos casos, JavaScript puede **inferir** el final de una sentencia incluso si el punto y coma se omite. Esto se conoce como **Automatic Semicolon Insertion (ASI)**. Sin embargo, **confiar en ASI puede llevar a comportamientos inesperados y errores dif铆ciles de depurar**. Por lo tanto, **la recomendaci贸n general es siempre incluir el punto y coma al final de cada sentencia** para asegurar la claridad y evitar problemas.

馃攽 En resumen: Las statements son las acciones que componen un programa JavaScript. Aunque el punto y coma puede ser omitido en algunos casos debido a ASI, es una buena pr谩ctica terminar cada sentencia con ; para garantizar la correcta interpretaci贸n del c贸digo y mejorar la legibilidad.

➖ Semicolons ;

✒️ El **punto y coma (;)** en JavaScript act煤a como un **delimitador de sentencias**. Su funci贸n principal es **indicar el final de una instrucci贸n** o statement. Esto permite al int茅rprete de JavaScript saber d贸nde termina una acci贸n y d贸nde comienza la siguiente.

La regla general: Terminar las sentencias con ;

Aunque JavaScript tiene la capacidad de realizar la **Automatic Semicolon Insertion (ASI)**, que intenta insertar autom谩ticamente los puntos y comas donde cree que deber铆an estar, **la pr谩ctica recomendada y m谩s segura es siempre incluir expl铆citamente el punto y coma al final de cada sentencia**. Esto ayuda a:

  • Evitar ambig眉edades: En ciertos casos, la omisi贸n del punto y coma puede llevar a que JavaScript interprete las l铆neas de c贸digo de una manera diferente a la que se pretend铆a, causando errores sutiles y dif铆ciles de depurar.
  • Mejorar la legibilidad: El punto y coma hace que el c贸digo sea m谩s claro y f谩cil de seguir, especialmente para otros desarrolladores (o para ti mismo en el futuro).
  • Prevenir errores inesperados: Confiar en ASI puede resultar en errores cuando se combinan ciertas sentencias o cuando se trabaja con c贸digo minificado.

Casos donde la omisi贸n del punto y coma puede ser problem谩tica:

  • Cuando una sentencia comienza con ciertos caracteres, como (, [, /, + o -, y la sentencia anterior no termina con un punto y coma.
    let a = 1 let b = a + (function() { return 2 })() // ¡Podr铆a interpretarse incorrectamente!
  • Al trabajar con return, break, continue, throw si la palabra clave va seguida de una nueva l铆nea. JavaScript insertar谩 autom谩ticamente un punto y coma despu茅s de estas palabras clave si no hay nada m谩s en la misma l铆nea, lo que podr铆a no ser el comportamiento deseado.
    function ejemplo() { return // ASI insertar谩 un punto y coma aqu铆, devolviendo undefined { valor: 1 }; }

馃憤 En resumen: Aunque JavaScript puede intentar insertar puntos y comas autom谩ticamente, es una pr谩ctica s贸lida y recomendada **terminar siempre tus sentencias con un punto y coma (;)** para evitar errores inesperados, mejorar la legibilidad y asegurar la correcta interpretaci贸n de tu c贸digo.

⚪ JavaScript White Space

馃挩 El t茅rmino **"white space"** o **espacio en blanco** en JavaScript se refiere a los caracteres que se utilizan para a帽adir **espacio visual** en el c贸digo fuente. Estos caracteres incluyen:

  • Espacios (el car谩cter generado al presionar la barra espaciadora).
  • Tabulaciones (el car谩cter generado al presionar la tecla Tab).
  • Saltos de l铆nea (el car谩cter generado al presionar la tecla Enter o Return).

Impacto en la ejecuci贸n: Ninguno

Es importante entender que **JavaScript ignora la mayor铆a de los espacios en blanco** entre los elementos del lenguaje (como palabras clave, identificadores, operadores, etc.) durante la ejecuci贸n del c贸digo. Esto significa que la cantidad y el tipo de espacios en blanco que utilices generalmente no afectar谩n c贸mo se comporta tu programa.

Los siguientes ejemplos son equivalentes en t茅rminos de ejecuci贸n:

let mensaje = "Hola"; let mensaje="Hola"; let contador = 0 ; let contador = 0; if (contador > 0) { console.log("Contador es positivo"); } if(contador>0){console.log("Contador es positivo");}

Importancia para la legibilidad: ¡Mucha!

Aunque los espacios en blanco no afectan la ejecuci贸n, son **cruciales para mejorar la legibilidad y la organizaci贸n del c贸digo**. Un c贸digo bien formateado con espacios en blanco adecuados es mucho m谩s f谩cil de entender, mantener y depurar. Las convenciones comunes incluyen:

  • Usar espacios alrededor de los operadores (=, +, -, etc.).
  • Usar tabulaciones o espacios para la indentaci贸n dentro de bloques de c贸digo ({}), como en las estructuras de control de flujo y las funciones.
  • Dejar l铆neas en blanco para separar secciones l贸gicas de c贸digo, lo que facilita la comprensi贸n de la estructura general.

Ejemplo de c贸digo con buen uso de espacios en blanco:

function calcularAreaCirculo(radio) { const PI = 3.14159; let area = PI * radio * radio; return area; } let radioCirculo = 5; let areaCalculada = calcularAreaCirculo(radioCirculo); console.log("El 谩rea del c铆rculo es:", areaCalculada);

Este c贸digo es mucho m谩s f谩cil de leer y entender gracias al uso de espacios en blanco para la indentaci贸n y la separaci贸n l贸gica.

馃攽 En resumen: JavaScript ignora la mayor铆a de los espacios en blanco en la ejecuci贸n, pero estos son fundamentales para la legibilidad y el mantenimiento del c贸digo. Adoptar convenciones de espaciado consistentes es una buena pr谩ctica de programaci贸n.

馃搹 JavaScript Line Length and Line Breaks

馃搻 Mantener una **longitud de l铆nea razonable** en tu c贸digo JavaScript es una pr谩ctica importante para mejorar la **legibilidad**. Las l铆neas de c贸digo demasiado largas pueden dificultar el seguimiento visual y requerir el desplazamiento horizontal, lo cual es inconveniente.

Longitud de l铆nea recomendada:

Aunque no hay una regla estricta, una recomendaci贸n com煤n es mantener las l铆neas de c贸digo **por debajo de los 80 a 120 caracteres**. Muchos gu铆as de estilo de c贸digo y linters (herramientas para analizar c贸digo en busca de errores de estilo) sugieren estos l铆mites.

Saltos de l铆nea (Line Breaks):

Cuando una l铆nea de c贸digo se vuelve demasiado larga, es necesario utilizar **saltos de l铆nea** o **quiebres de l铆nea** para dividirla en varias l铆neas m谩s cortas y legibles. JavaScript permite realizar saltos de l铆nea en casi cualquier punto donde un espacio en blanco es permitido.

D贸nde realizar saltos de l铆nea:

Generalmente, es buena pr谩ctica romper las l铆neas en los siguientes lugares:

  • Despu茅s de una coma (,) en listas de variables, par谩metros de funciones, argumentos de funciones o elementos de arrays y objetos.
  • Antes o despu茅s de un operador (=, +, -, *, /, &&, ||, etc.). Si se rompe antes o despu茅s es una cuesti贸n de preferencia, pero la consistencia es clave.
  • Despu茅s de la apertura de un par茅ntesis, corchete o llave, especialmente si el contenido es extenso.

Ejemplos de saltos de l铆nea:

// L铆nea larga sin saltos de l铆nea (dif铆cil de leer) let resultado = unaFuncionMuyLarga(parametro1, parametro2, unTercerParametroRealmenteExtenso, otroParametro); // L铆nea dividida despu茅s de las comas let resultado = unaFuncionMuyLarga( parametro1, parametro2, unTercerParametroRealmenteExtenso, otroParametro ); // L铆nea larga con operadores if (condicionUno && otraCondicionMuchoMasLarga || !unaTerceraCondicion) { // ... } // L铆nea dividida antes de los operadores (m谩s com煤n) if (condicionUno && otraCondicionMuchoMasLarga || !unaTerceraCondicion) { // ... } // Inicializaci贸n de un objeto largo let miObjeto = { propiedadUno: "valorUnoExtremadamenteLargo", propiedadDos: 12345, propiedadTres: true, propiedadCuatro: [ "elementoUno", "elementoDosMuyLargo" ] };

Consideraciones:

  • La consistencia en la forma de realizar los saltos de l铆nea es importante para mantener un estilo de c贸digo uniforme en todo el proyecto.
  • Las herramientas de formateo de c贸digo (como Prettier) pueden automatizar el proceso de aplicar una longitud de l铆nea y un estilo de saltos de l铆nea consistentes.

馃攽 En resumen: Mantener una longitud de l铆nea razonable y utilizar saltos de l铆nea estrat茅gicos son pr谩cticas clave para escribir c贸digo JavaScript legible y mantenible. Esto facilita la colaboraci贸n y reduce la probabilidad de errores.

馃敳 JavaScript Code Blocks

馃П Los **bloques de c贸digo** en JavaScript son **grupos de una o m谩s sentencias** que se encierran entre **llaves** (`{}`). Estos bloques se utilizan para **agrupar l贸gicamente instrucciones relacionadas** y tratarlas como una sola unidad.

Usos comunes de los bloques de c贸digo:

  • Estructuras de control de flujo: Los bloques de c贸digo son esenciales en las sentencias if, else, for, while, do...while, y switch para definir el conjunto de sentencias que se ejecutar谩n bajo ciertas condiciones o en bucle.
  • Declaraciones de funciones: El cuerpo de una funci贸n (el c贸digo que se ejecuta cuando se llama a la funci贸n) siempre est谩 encerrado en un bloque de c贸digo.
  • Declaraciones de clases: Similar a las funciones, el cuerpo de una clase tambi茅n se define dentro de un bloque de c贸digo.
  • Bloques try...catch...finally: Se utilizan para el manejo de errores, donde el bloque try contiene el c贸digo que podr铆a generar un error, y los bloques catch y finally definen c贸mo manejar ese error y qu茅 hacer al final.

Caracter铆sticas importantes de los bloques de c贸digo:

  • Agrupaci贸n l贸gica: Permiten organizar el c贸digo de manera coherente, facilitando la lectura y el entendimiento de la estructura del programa.
  • 脕mbito (Scope): Los bloques de c贸digo crean un **谩mbito de bloque** para las variables declaradas con let y const (introducido en ES6). Esto significa que estas variables solo son accesibles dentro del bloque donde se declaran y en cualquier bloque anidado dentro de 茅l. Las variables declaradas con var tienen un 谩mbito de funci贸n o global, no de bloque.
  • Ejecuci贸n condicional o repetitiva: Las sentencias dentro de un bloque de c贸digo se ejecutan juntas, ya sea condicionalmente (si la condici贸n de un if se cumple) o repetidamente (en un bucle for o while).

Ejemplos de bloques de c贸digo:

// Bloque if if (edad >= 18) { console.log("Es mayor de edad."); let permiso = true; // 'permiso' solo existe dentro de este bloque } // Bloque for for (let i = 0; i < 5; i++) { console.log("Iteraci贸n:", i); } // Bloque de funci贸n function saludar(nombre) { let saludo = "Hola, " + nombre + "!"; console.log(saludo); return saludo; }

En estos ejemplos, las llaves {} delimitan los bloques de c贸digo que contienen las sentencias a ejecutar bajo la condici贸n del if, en cada iteraci贸n del for, o cuando se llama a la funci贸n saludar.

馃攽 En resumen: Los bloques de c贸digo son una construcci贸n fundamental en JavaScript para agrupar sentencias, definir el alcance de las variables (con let y const), y controlar el flujo de ejecuci贸n del programa.

馃棟️ JavaScript Keywords

馃攽 Las **palabras clave** (o **keywords**) en JavaScript son **palabras reservadas** que tienen un **significado especial** para el int茅rprete del lenguaje. Estas palabras forman la **sintaxis fundamental** de JavaScript y se utilizan para definir la estructura y el comportamiento del c贸digo.

Caracter铆sticas principales de las palabras clave:

  • Reservadas: No puedes usar palabras clave como nombres para tus variables, funciones, clases u otros identificadores. Intentar hacerlo resultar谩 en un error de sintaxis.
  • Significado espec铆fico: Cada palabra clave tiene una funci贸n predefinida en el lenguaje. Por ejemplo, let se usa para declarar variables, if para iniciar una sentencia condicional, y function para declarar una funci贸n.
  • Parte de la sintaxis: Las palabras clave son elementos esenciales de la gram谩tica de JavaScript y ayudan a definir la estructura l贸gica del c贸digo.

Ejemplos de palabras clave comunes en JavaScript:

  • Declaraciones: var, let, const, class, function, return.
  • Estructuras de control de flujo: if, else, switch, case, break, continue, for, while, do.
  • Manejo de errores: try, catch, finally, throw.
  • Operadores especiales: typeof, instanceof, new, delete, void.
  • Palabras clave relacionadas con m贸dulos: import, export.
  • Otras palabras clave: this, super, async, await, yield, in, of.

Ejemplo de uso de palabras clave:

let nombre = "Sof铆a"; // 'let' es una palabra clave para declarar una variable if (nombre === "Sof铆a") { // 'if' es una palabra clave para una sentencia condicional console.log("El nombre es Sof铆a."); } else { // 'else' es otra palabra clave para la sentencia condicional console.log("El nombre no es Sof铆a."); } function saludar(nombre) { // 'function' es una palabra clave para declarar una funci贸n return "¡Hola, " + nombre + "!"; // 'return' es una palabra clave para devolver un valor }

Es crucial familiarizarse con las palabras clave de JavaScript para poder escribir c贸digo v谩lido y comprensible. A medida que aprendas m谩s sobre el lenguaje, te encontrar谩s con estas palabras repetidamente y comprender谩s su funci贸n espec铆fica.

馃摎 Nota: JavaScript tambi茅n tiene algunas **palabras reservadas para uso futuro**, lo que significa que aunque no tienen una funci贸n actual en el lenguaje, est谩n reservadas y no deben usarse como identificadores para evitar posibles conflictos en el futuro.

馃攽 En resumen: Las palabras clave son los bloques de construcci贸n fundamentales de la sintaxis de JavaScript. Son palabras reservadas con significados especiales que definen la estructura y el comportamiento del c贸digo. No se pueden usar como nombres para variables u otros identificadores.

Publicar un comentario

0 Comentarios