05- 馃捇 Sintaxis B谩sica de JavaScript Explicada




Lecci贸n: JavaScript Syntax

馃挕 JavaScript Values

馃拵 En JavaScript, un **valor** es una **pieza de informaci贸n** que puede ser manipulada por el programa. Estos valores son la **materia prima** con la que trabajan los scripts para realizar c谩lculos, mostrar datos y tomar decisiones. Los valores se pueden asignar a **variables**, utilizar directamente en el c贸digo (como **literales**) o ser el resultado de **operaciones** y **expresiones**.

JavaScript reconoce varios tipos de valores, que se conocen como **tipos de datos**. Algunos de los tipos de datos primitivos m谩s importantes son:

  • N煤meros (Number): Representan valores num茅ricos, que pueden ser enteros o de punto flotante (decimales).
    let edad = 30; let precio = 99.99; let pi = 3.14;
  • Cadenas de texto (String): Representan secuencias de caracteres, utilizadas para mostrar texto. Se definen entre comillas simples (') o dobles (").
    let nombre = "Carlos"; let saludo = '¡Hola!';
  • Booleanos (Boolean): Representan un valor de verdad, que puede ser true (verdadero) o false (falso). Son fundamentales para la l贸gica condicional.
    let esMayorDeEdad = true; let tieneDescuento = false;
  • Null: Es un valor especial que indica la ausencia intencional de un valor.
    let usuario = null; // Indica que no hay un objeto usuario en este momento
  • Undefined: Es un valor especial que indica que una variable no ha sido inicializada (no se le ha asignado un valor) o que una funci贸n no devuelve ning煤n valor expl铆citamente.
    let ciudad; // 'ciudad' es undefined porque no se le ha asignado un valor function ejemplo() { // No hay sentencia 'return', por lo que devuelve undefined }
  • S铆mbolos (Symbol): Introducidos en ES6, son valores primitivos 煤nicos e inmutables que se utilizan a menudo como claves de propiedades de objetos para evitar colisiones de nombres.
    const idUnico = Symbol('id');

Adem谩s de los tipos de datos primitivos, JavaScript tambi茅n tiene **objetos (Objects)**, que son colecciones de propiedades (pares clave-valor) y pueden contener otros valores, incluyendo funciones. Los arrays son un tipo especial de objeto utilizado para almacenar colecciones ordenadas de elementos.

馃攽 En resumen: Los valores son la informaci贸n fundamental que manipulan los programas JavaScript. Comprender los diferentes tipos de valores es crucial para escribir c贸digo que funcione correctamente y pueda procesar datos de manera efectiva.

馃摐 JavaScript Literals

馃拵 Los **literales** en JavaScript son **valores fijos** que se escriben directamente en el c贸digo fuente. Representan **datos constantes** que no cambian durante la ejecuci贸n del programa. Son una forma directa de expresar valores de diferentes tipos de datos.

Tipos de literales en JavaScript:

  • Literales num茅ricos: Representan n煤meros. Pueden ser enteros, de punto flotante (decimales) o utilizar notaci贸n exponencial.
    10 // Literal entero 3.14 // Literal de punto flotante -5 // Literal entero negativo 6.02e23 // Literal en notaci贸n exponencial
  • Literales de cadena de texto (String literals): Representan secuencias de caracteres encerradas entre comillas simples (') o dobles (").
    'Hola, mundo' "Este es otro texto" 'Puedes usar "comillas dobles" dentro de simples' "Y 'comillas simples' dentro de dobles"
  • Literales booleanos: Representan los valores de verdad true (verdadero) y false (falso).
    true false
  • Literales null: Representa la ausencia intencional de un valor y se escribe como null.
    null
  • Literales undefined: Representa un valor que no est谩 definido y se escribe como undefined. Sin embargo, aunque t茅cnicamente es un literal, generalmente se encuentra como el valor predeterminado de variables no inicializadas o el resultado de ciertas operaciones. Se recomienda usar null para indicar la ausencia intencional de un valor.
    undefined
  • Literales de objeto: Representan objetos y se definen mediante pares clave-valor encerrados entre llaves {}.
    { nombre: "Ana", edad: 25 } {} // Objeto vac铆o
  • Literales de array: Representan arrays (listas ordenadas de valores) y se definen mediante valores separados por comas encerrados entre corchetes [].
    [1, 2, 3, 4, 5] ['manzana', 'banana', 'cereza'] [] // Array vac铆o
  • Literales de funci贸n: Tambi茅n conocidas como expresiones de funci贸n, definen funciones directamente en el c贸digo.
    function(a, b) { return a + b; } // Funci贸n an贸nima
  • Literales de expresi贸n regular: Se utilizan para definir patrones de b煤squeda y se encierran entre barras diagonales / /.
    /patron/g
  • Literales de plantilla (Template literals): Introducidos en ES6, permiten incrustar expresiones dentro de cadenas de texto utilizando backticks (` `).
    let nombre = "Pedro"; `Hola, ${nombre}!`

馃攽 En resumen: Los literales son la forma m谩s directa de representar valores fijos en el c贸digo JavaScript. Comprender los diferentes tipos de literales es fundamental para escribir c贸digo que manipule datos de manera efectiva.

馃攽 Variables

馃摝 Las **variables** en JavaScript son como **etiquetas** que pones a **contenedores** para almacenar y referirte a **valores** (como los literales que vimos antes). Estos contenedores pueden guardar diferentes tipos de datos y, a diferencia de los literales, el valor que almacenan puede **cambiar** durante la ejecuci贸n del programa.

Para **declarar** (crear) una variable en JavaScript, se utilizan las siguientes palabras clave:

  • var:** Se utilizaba en versiones anteriores de JavaScript. Tiene un 谩mbito de funci贸n o global, lo que puede llevar a comportamientos inesperados en programas m谩s complejos.
  • let:** Introducida en ES6 (ECMAScript 2015), proporciona un 谩mbito de bloque, lo que significa que la variable solo es accesible dentro del bloque de c贸digo donde se declara (y en bloques anidados). Se recomienda usar let para variables cuyo valor puede cambiar.
  • const:** Tambi茅n introducida en ES6, se utiliza para declarar variables cuyo valor **no debe ser reasignado** despu茅s de la inicializaci贸n. Tambi茅n tiene un 谩mbito de bloque. Es importante notar que, para los objetos y arrays declarados con const, las propiedades o elementos *s铆* pueden modificarse, pero la variable en s铆 no puede apuntar a un nuevo objeto o array.

Sintaxis para declarar variables:

var nombreVariable; // Declaraci贸n usando var let otraVariable; // Declaraci贸n usando let const VALOR_FIJO = 3.14; // Declaraci贸n e inicializaci贸n usando const

Inicializaci贸n (asignaci贸n de un valor):

Se puede asignar un valor a una variable en el momento de la declaraci贸n o posteriormente utilizando el operador de asignaci贸n (=).

let mensaje = "Hola"; // Declaraci贸n e inicializaci贸n let contador; // Declaraci贸n contador = 0; // Inicializaci贸n posterior var edad = 25; // Declaraci贸n e inicializaci贸n con var

Ejemplos de uso de variables:

let cantidad = 10; cantidad = cantidad + 5; // El valor de 'cantidad' ahora es 15 const gravedad = 9.8; // gravedad = 10; // Esto causar铆a un error porque 'gravedad' se declar贸 con const let nombre = "Alice"; console.log("El nombre es:", nombre); // Muestra "El nombre es: Alice"

馃憤 Buenas pr谩cticas al usar variables:

  • Utiliza const por defecto para las variables cuyo valor no debe cambiar.
  • Utiliza let para las variables cuyo valor puede cambiar.
  • Evita usar var en c贸digo moderno debido a su 谩mbito confuso.
  • Elige nombres de variables descriptivos y significativos.
  • Sigue convenciones de nomenclatura (como camelCase).

馃攽 En resumen: Las variables son esenciales para almacenar y manipular datos en JavaScript. La elecci贸n entre var, let y const depende de si el valor de la variable necesita ser reasignado y del 谩mbito deseado.

馃枿️ JavaScript Print

馃搫 En JavaScript, la impresi贸n de contenido desde una p谩gina web generalmente se refiere a **iniciar la funci贸n de impresi贸n del navegador**, permitiendo al usuario obtener una versi贸n en papel o en formato PDF de la p谩gina actual o de contenido espec铆fico.

El m茅todo window.print():

La forma m谩s com煤n y directa de iniciar la impresi贸n desde JavaScript es utilizando el m茅todo window.print(). Al llamar a esta funci贸n, se abre el cuadro de di谩logo de impresi贸n del navegador, permitiendo al usuario seleccionar su impresora, configurar las opciones de impresi贸n y confirmar la impresi贸n.

Ejemplo de uso:

Puedes asociar la llamada a window.print() a un evento, como el clic de un bot贸n:

<button onclick="window.print()" style="padding: 10px 20px; font-size: 16px; cursor: pointer;">Imprimir esta p谩gina</button>

Al hacer clic en este bot贸n, se abrir谩 el di谩logo de impresi贸n del navegador para la p谩gina actual.

Controlando el contenido impreso con CSS:

Aunque JavaScript inicia el proceso de impresi贸n, puedes usar **CSS** para controlar c贸mo se ve la p谩gina cuando se imprime. Esto se logra utilizando las **media queries** espec铆ficas para la impresi贸n (@media print).

Ejemplo de CSS para impresi贸n:

<style> @media print { body { font-size: 12pt; } .no-imprimir { display: none; /* Ocultar elementos que no deben imprimirse */ } a::after { content: " (" attr(href) ")"; /* Mostrar la URL despu茅s de los enlaces */ } } </style> <div class="no-imprimir"> <button onclick="window.print()">Imprimir</button> </div> <p>Este es el contenido que se imprimir谩.</p> <a href="https://www.ejemplo.com">Enlace de ejemplo</a>

En este ejemplo, el CSS dentro de @media print se aplicar谩 solo cuando la p谩gina se est茅 imprimiendo. Ocultamos los elementos con la clase .no-imprimir y mostramos la URL despu茅s de los enlaces.

馃攽 En resumen: La forma principal de iniciar la impresi贸n desde JavaScript es con window.print(). Para controlar el aspecto del contenido impreso, se utilizan las media queries de CSS espec铆ficas para la impresi贸n (@media print).

馃摐 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

馃敔 Expressions

Las expresiones en JavaScript son combinaciones de valores, variables, operadores y funciones que JavaScript eval煤a y devuelve un resultado.

馃攽 Keywords

Las palabras clave en JavaScript son t茅rminos reservados que tienen un significado especial en el lenguaje, como `if`, `else`, `function`, entre otros.

馃挰 Comments

Los comentarios en JavaScript son l铆neas de texto que no se ejecutan. Se utilizan para describir el c贸digo. Pueden ser de una sola l铆nea (`//`) o de m煤ltiples l铆neas (`/* ... */`).

馃敔 Identifiers / Names

Los identificadores en JavaScript son nombres que se usan para identificar variables, funciones, objetos, entre otros. Deben seguir ciertas reglas y convenciones.

馃敗 JavaScript is Case Sensitive

JavaScript es sensible a las may煤sculas y min煤sculas. Esto significa que `variable`, `Variable`, y `VARIABLE` se consideran identificadores diferentes.

馃惇 Camel Case

El estilo Camel Case es una convenci贸n de nombres donde se combinan palabras sin espacios, y cada palabra comienza con may煤scula, excepto la primera. Ejemplo: `miVariableDeEjemplo`.

馃敔 Character Set

El conjunto de caracteres en JavaScript define los caracteres v谩lidos que se pueden usar en el c贸digo fuente. Esto incluye letras, n煤meros y algunos s铆mbolos especiales.

Publicar un comentario

0 Comentarios