|
|
|
# 🧠 Módulo 1 — Fundamentos y Sintaxis de JavaScript
|
|
|
|
# Módulo 1 — Fundamentos y Sintaxis de JavaScript
|
|
|
|
|
|
|
|
**Aplicación práctica: Sistema de gestión de recursos sanitarios (humanos y materiales)**
|
|
|
|
|
| ... | ... | @@ -6,9 +6,7 @@ |
|
|
|
|
|
|
|
## 1. Qué es ECMAScript
|
|
|
|
|
|
|
|
ECMAScript es el **estándar que define el lenguaje JavaScript**, desarrollado por Ecma International.
|
|
|
|
Cada versión de ECMAScript introduce mejoras (por ejemplo, ES6 en 2015 incorporó `let`, `const`, clases, funciones flecha, entre otros).
|
|
|
|
Gracias a este estándar, el código JavaScript es **compatible entre navegadores y plataformas**.
|
|
|
|
ECMAScript es el **estándar que define el lenguaje JavaScript**, desarrollado por Ecma International. Cada versión de ECMAScript introduce mejoras (por ejemplo, ES6 en 2015 incorporó `let`, `const`, clases, funciones flecha, entre otros). Gracias a este estándar, el código JavaScript es **compatible entre navegadores y plataformas**.
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
const nombre = "Hospital Central";
|
| ... | ... | @@ -19,8 +17,7 @@ console.log(`Bienvenido a la app de gestión de ${nombre}`); |
|
|
|
|
|
|
|
## 2. Qué es JavaScript
|
|
|
|
|
|
|
|
JavaScript es un **lenguaje de programación interpretado** (no se compila antes de ejecutarse, el intérprete lo lee línea a línea).
|
|
|
|
Es además **débilmente tipado**, lo que significa que **no requiere especificar el tipo de dato** y puede convertir automáticamente entre tipos, lo que da flexibilidad pero exige cuidado.
|
|
|
|
JavaScript es un **lenguaje de programación interpretado** (no se compila antes de ejecutarse, el intérprete lo lee línea a línea). Es además **débilmente tipado**, lo que significa que **no requiere especificar el tipo de dato** y puede convertir automáticamente entre tipos, lo que da flexibilidad pero exige cuidado.
|
|
|
|
|
|
|
|
JavaScript es **multiparadigma** (soporta programación funcional, orientada a objetos y procedimental) y se usa para desarrollar **aplicaciones web dinámicas**, como un sistema de gestión hospitalaria.
|
|
|
|
|
| ... | ... | @@ -69,8 +66,7 @@ JavaScript permite declarar variables con `var`, `let` o `const`, cada una con d |
|
|
|
* `let` → alcance de **bloque**, más seguro y moderno.
|
|
|
|
* `const` → alcance de **bloque**, su valor no puede reasignarse (aunque sus propiedades sí).
|
|
|
|
|
|
|
|
Además, a partir de ES2022, **las clases** pueden definir propiedades **públicas** y **privadas**.
|
|
|
|
En JavaScript moderno no existen palabras reservadas como `public` o `private` al estilo de otros lenguajes (como Java o C#), pero se usan **convenciones**:
|
|
|
|
Además, a partir de ES2022, **las clases** pueden definir propiedades **públicas** y **privadas**. En JavaScript moderno no existen palabras reservadas como `public` o `private` al estilo de otros lenguajes (como Java o C#), pero se usan **convenciones**:
|
|
|
|
|
|
|
|
* Prefijo `_nombre` → indica que debería tratarse como privado (por convención).
|
|
|
|
* El prefijo real `#nombre` → define **propiedades privadas reales** (accesibles solo dentro de la clase).
|
| ... | ... | @@ -105,8 +101,7 @@ guantes.mostrar(); |
|
|
|
|
|
|
|
## 5. Tipos primitivos
|
|
|
|
|
|
|
|
Son los valores básicos:
|
|
|
|
`string`, `number`, `boolean`, `undefined`, `null`, `bigint`, `symbol`.
|
|
|
|
Son los valores básicos: `string`, `number`, `boolean`, `undefined`, `null`, `bigint`, `symbol`.
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
let nombre = "Juan";
|
| ... | ... | @@ -194,8 +189,7 @@ for (let i = 0; i < personal.length; i++) { |
|
|
|
|
|
|
|
## 8. Funciones
|
|
|
|
|
|
|
|
Las funciones permiten **reutilizar código** y organizar la lógica.
|
|
|
|
Su **firma** incluye el nombre, los parámetros y el valor de retorno.
|
|
|
|
Las funciones permiten **reutilizar código** y organizar la lógica. Su **firma** incluye el nombre, los parámetros y el valor de retorno.
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
function calcularCamasLibres(total, ocupadas) {
|
| ... | ... | @@ -231,7 +225,7 @@ gestionarRecurso(); |
|
|
|
|
|
|
|
### Funciones flecha
|
|
|
|
|
|
|
|
Las funciones flecha (`=>`) simplifican la sintaxis y **no crean su propio `this`**, por lo que son útiles en callbacks o eventos.
|
|
|
|
Las funciones flecha (`=>`) simplifican la sintaxis y **no crean su propio** `this`, por lo que son útiles en callbacks o eventos.
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
const reporteRecursos = (camas, mascarillas) => {
|
| ... | ... | @@ -328,4 +322,3 @@ console.log("Redondeo hacia arriba:", Math.ceil(4.3)); |
|
|
|
console.log("Valor absoluto:", Math.abs(-5));
|
|
|
|
console.log("Máximo:", Math.max(10, 20, 5));
|
|
|
|
``` |
|
|
\ No newline at end of file |
|
|
|
|