Contenido del curso
Primeros Pasos
- 5

¡Hola Mundo!
06:13 min - 6

Anatomía de una variable
09:23 min - 7

Tipos de datos: Mutabilidad e inmutabilidad
10:55 min - 8

Paso por valor
11:06 min - 9

Paso por referencia
07:00 min - 10

Creación de strings
11:33 min - 11

Concatenación de strings
08:31 min - 12

Manipulación de strings
Viendo ahora - 13

Tipo de dato primitivo: number
09:30 min - 14

Conversión a Booleanos
05:08 min - 15

Tipos de datos primitivos: null, undefined, symbol y bigint
07:28 min - 16

Conversión de tipos: Type Casting y Coercion
04:38 min - 17

Conversión de tipos explícita e implícita
12:20 min - 18

Proyecto: Crea un perfil para redes sociales con JavaScript
07:23 min
Funciones y This
- 19

Anatomía de una función
11:39 min - 20

Preguntas a Desarrolladores Senior: ¿Por qué aprender Desarrollo Web?
02:11 min - 21

Funciones vs Métodos
10:01 min - 22

Funciones puras e impuras
11:22 min - 23

Identificador this
11:38 min - 24

Métodos bind, call y apply
10:09 min - 25

Funciones flecha y enlace léxico
10:31 min - 26

Implicaciones de duplicar código
03:19 min - 27

Funciones constructoras
10:41 min - 28

10 Tipos de funciones
01:39 min - 29

Objeto window y modo estricto
07:37 min - 30

Tipos de binding
01:11 min - 31

Expresiones vs Sentencias
04:02 min - 32

Proyecto: Crea biografías de personajes con JavaScript
12:51 min
Lógica y ciclos
- 33

Operadores de comparación
06:12 min - 34

Operadores lógicos
04:33 min - 35

Ejecución condicional: if
07:45 min - 36

Proyecto: Adivina el número
09:36 min - 37

Ejecución condicional: ternario
05:24 min - 38

Ejecución condicional: switch
12:08 min - 39

Loop: for
07:31 min - 40

Loop: forEach
03:57 min - 41

Loop: for of
04:26 min - 42

Loop: for in
07:38 min - 43

Loop: while
03:56 min - 44

Loop: do while
03:13 min - 45

Proyecto: Juego adivina la palabra
15:56 min
Fundamentos de arrays y modificación
- 46

Introducción a Arrays
09:09 min - 47

Mutabilidad e inmutabiliad de Arrays
07:56 min - 48

Modificación básica del final con push(), pop()
04:33 min - 49

Ejercicio: Stack de libros
16:03 min - 50

Modificación del principio con shift(), unshift()
10:21 min - 51

Modificación avanzada con splice(), reverse(), sort(), fill()
16:37 min - 52

Proyecto: Juego de cartas
15:37 min - 53

Preguntas a Desarrolladores Senior: Estrategias y métodos de estudio
01:10 min
Iteración de Arrays
- 54

Iteración con map() y forEach()
12:53 min - 55

Filtrado y reducción con filter() y reduce()
11:34 min - 56

Ejercicio: Calificación promedio aprobatoria
05:27 min - 57

Búsqueda de elementos con find() y findIndex()
03:52 min - 58

Ejercicio: Encuentra al ganador de una rifa
11:21 min - 59

Proyecto: Análisis de transacciones
10:55 min - 60

Proyecto: Análisis de transacciones parte 2
08:01 min
Métodos específicos y Operaciones
- 61

Unir y entrelazar con concat(), spread operator y join()
12:05 min - 62

Verificación y evaluación con every() y some()
05:15 min - 63

Métodos de búsqueda con includes(), indexOf() y lastIndexOf()
07:05 min - 64

Ejercicio: Encontrando los índices
11:09 min - 65

Crear copias con slice()
05:28 min - 66

Spread operator: casos de uso
07:11 min
Arrays multidimencionales
Clases y Objetos
- 71

Anatomia de un Objeto
06:48 min - 72

Trabajando con objetos
12:52 min - 73

Función constructora
14:31 min - 74

¿Qué es una clase?
06:17 min - 75

Prototipos y herencias
02:15 min - 76

Herencia en la práctica
15:38 min - 77

Prototipos en la práctica
10:42 min - 78

this en JavaScript
05:36 min - 79

Proyecto: Crea una red social
12:25 min - 80

Proyecto: Crea una red social parte 2
09:00 min
Manipulación de strings
Resumen
Trabajar con texto es una de las tareas más frecuentes en JavaScript, y dominar los strings marca la diferencia entre escribir código funcional y código realmente eficiente. Desde cómo se crean hasta cómo se transforman, existen múltiples formas de operar con cadenas de texto que todo desarrollador necesita conocer.
¿Cuál es la diferencia entre un string primitivo y un string objeto?
En JavaScript existen dos maneras de crear strings. La primera, y más común, es el string primitivo [0:18]: se declara asignando texto entre comillas simples o dobles a una variable. Por ejemplo:
javascript const stringPrimitivo = 'Soy un string primitivo';
Si usamos el operador typeof sobre esta variable, el resultado será "string". También podemos crear un string primitivo usando la función String() sin la palabra clave new [0:48]:
javascript const stringPrimitivoTambien = String('Soy un string primitivo también');
El resultado de typeof sigue siendo "string". Ambas formas producen valores inmutables, lo que significa que al modificarlos no se altera el valor original, sino que se crea uno nuevo. Este comportamiento se conoce como paso por valor [1:24].
Por otro lado, existe el string objeto [1:36], que se crea usando la palabra clave new:
javascript const stringObjeto = new String('Soy un string objeto');
Al evaluar typeof sobre esta variable, el resultado será "object" [1:56]. La diferencia principal es que estos strings son mutables y heredan las características propias de los objetos en JavaScript.
¿Cómo acceder a caracteres dentro de un string?
Cada carácter de un string tiene un índice que comienza en cero [2:35]. Para acceder a un carácter específico podemos usar dos técnicas.
- Notación de corchetes: indicamos el índice directamente.
- Método
charAt(): funciona igual, pero con sintaxis de método [3:05].
javascript const saludo = 'Hola. ¿cómo estás?'; console.log(saludo[2]); // "l" console.log(saludo.charAt(2)); // "l"
¿Cómo encontrar la posición de un carácter o palabra?
El método indexOf() devuelve la posición de la primera aparición de un carácter o palabra [3:38]. Si buscamos la letra "o", nos devolverá el índice 1. Si buscamos una palabra completa como "como", nos devolverá el índice donde comienza [4:05].
Cuando el texto buscado no existe dentro del string, indexOf() retorna -1 [4:29]. Para obtener la posición de la última aparición, usamos lastIndexOf() [4:47].
javascript console.log(saludo.indexOf('o')); // 1 console.log(saludo.lastIndexOf('o')); // posición de la última "o" console.log(saludo.indexOf('xyz')); // -1
¿Cómo extraer porciones de texto con slice?
El método slice() recibe dos parámetros: el índice de inicio y el índice de fin más uno [5:00]. Es decir, el segundo parámetro es exclusivo.
javascript console.log(saludo.slice(3, 5)); // "a."
Para conocer la longitud total del string, utilizamos la propiedad length [5:42].
¿Qué métodos permiten transformar y dividir strings?
JavaScript ofrece varios métodos para transformar el contenido de un string sin alterar el original.
toUpperCase(): convierte todo el texto a mayúsculas [5:55].toLowerCase(): convierte todo el texto a minúsculas.
javascript console.log(saludo.toUpperCase()); console.log(saludo.toLowerCase());
El método split() divide un string en un array a partir de un separador [6:15]. Si indicamos un espacio como separador, cada palabra se convierte en un elemento independiente del arreglo.
javascript const saludoDividido = saludo.split(' '); console.log(saludoDividido); // ["Hola.", "¿cómo", "estás?"] console.log(saludoDividido[1]); // "¿cómo"
Para eliminar espacios al inicio y al final de un string, usamos trim() [6:56]:
javascript const saludoConEspacios = ' hola mundo '; const saludoSinEspacios = saludoConEspacios.trim(); console.log(saludoSinEspacios); // "hola mundo"
Finalmente, el método replace() permite reemplazar una palabra por otra dentro del texto [7:20]:
javascript const saludoOriginal = 'hola mundo'; const nuevoSaludo = saludoOriginal.replace('mundo', '❤️'); console.log(nuevoSaludo); // "hola ❤️"
Dominar estos métodos abre muchas posibilidades para procesar y presentar texto de forma dinámica. Si conoces otros métodos de strings que uses con frecuencia, comparte tu experiencia en los comentarios.