隆Te damos la bienvenida a este reto!

1

隆Bienvenido al mundo de JavaScript!

D铆a 1

2

Variables, funciones y sintaxis b谩sica

3

Tipos de datos

4

Playground - Retorna el tipo

5

Tipos de datos - pt 2

D铆a 2

6

Operadores

7

Hoisting y coerci贸n

8

Playground - Calcula la propina

9

Alcance de las variables

D铆a 3

10

Condicionales

11

Playground - Calcula a帽os bisiestos

12

Switch

13

Playground - Obten informaci贸n de mascotas seg煤n su tipo

14

Ciclos

15

Playground - Dibuja un triangulo

D铆a 4

16

Arrays

17

Playground - Encuentra al michi mas famoso

18

Objetos

19

Playground - Obten el promedio de los estudiantes

D铆a 5 - Checkpoint

20

Playground - encuentra el palindromo m谩s grande

D铆a 6

21

Reasignaci贸n y redeclaraci贸n

22

Modo estricto

D铆a 7

23

Debugging y manejo de errores

24

Programaci贸n funcional

Quiz: D铆a 7

D铆a 8

25

Closures

26

Playground - Crea una calculadora con closures

27

Higher order functions

28

Playground - Crea tu propio m茅todo map

D铆a 9

29

ECMAScript

30

TC39

Quiz: D铆a 9

D铆a 10 - Checkpoint

31

ES6

32

ES7

33

Playground - Task planner

D铆a 11

34

Asincronismo

35

Playground - Promesas

36

Manejando el asincronismo

37

Playground - Resuelve el callback hell usando promesas

38

Playground - Resuelve el callback hell usando async/await

D铆a 12

39

Arrays a profundidad

40

M茅todos de arrays: Every, Find y findIndex

41

Playground - V谩lida el formulario

D铆a 13

42

M茅todos de arrays: Includes, Join y concat

43

Playground - agrupa los productos

44

M茅todos de arrays: Flat y FlatMap

45

Playground - Encuentra la ubicaci贸n del valor buscado

D铆a 14

46

Mutable functions

47

Playground - Modifica una lista de compras

48

M茅todos de arrays: sort

49

Playground - Ordena los productos

D铆a 15 - Checkpoint

50

Playground - Sistema de reservaciones de un hotel

D铆a 16

51

Programaci贸n orientada a objetos en JavaScript

52

Objetos literales

53

Playground - Congela el objeto recursivamente

D铆a 17

54

Prototipos en JavaScript

55

Playground - Modifica el prototype de los arrays

56

Playground - Crea un auto usando clases

D铆a 18

57

Abstracci贸n en JavaScript

58

Playground - Sistema de carrito de compras

59

Encapsulamiento en JavaScript

60

Playground - Encapsula datos de los usuarios

D铆a 19

61

Herencia en JavaScript

62

Playground - Jerarqu铆a de animales

63

Polimorfismo en JavaScript

64

Playground - Sistema de pagos

D铆a 20 - Checkpoint

65

Playground - Agenda de vuelos

D铆a 21

66

Patrones de dise帽o

67

Sinlgeton y Factory pattern en JavaScript

68

Playground - Implementa singleton en un chat

D铆a 22

69

Adapter y Decorator pattern en JavaScript

70

Playground - Personaliza productos de una tienda

71

Builder y Protype pattern en JavaScript

72

Playground - Mejora el c贸digo usando builder pattern

D铆a 23

73

Facade y proxy pattern en JavaScript

74

Playground - Proxy en servicio de mensajer铆a

75

Chain of responsability y Observer pattern en JavaScript

76

Playground - Implementaci贸n de Observador en Newsletter

D铆a 24 - Checkpoint

77

Playground - Crea un task manager con patrones de dise帽o

D铆a 25

78

Estructuras de datos en JavaScript

79

Playground - Crea tu propia implementaci贸n de un array

80

Hash tables en JavaScript

81

Playground - Implementaci贸n de una HashTable para Contactos

D铆a 26

82

Set en JavaScript

83

Playground - Remueve duplicados de una lista

84

Maps en JavaScript

85

Playground - Crea un organizador de tareas

D铆a 27

86

Singly Linked List en JavaScript

87

Playground - Agrega m茅todos a la singly linked list

88

Playground - Implementaci贸n de una singly linked list

D铆a 28

89

Stacks en JavaScript

90

Playground - Crea un stack para una playlist

D铆a 29

91

Queues en JavaScript

92

Playground - Crea una cola de emails

D铆a 30

93

隆Lo lograste!

Live Class

94

30 d铆as de JS con Juan DC

95

30 d铆as de JS con Nicobytes

96

30 d铆as de JS con GNDX

97

30 d铆as de JS con LeoCode

98

30 d铆as de JS con Teffcode

99

Sesi贸n: Cierre de los 30 d铆as de JavaScript

Aprende Ingl茅s, Programaci贸n, AI, Ciberseguridad y mucho m谩s.

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

5 D铆as
9 Hrs
4 Min
37 Seg

ES6

31/99

Lectura

ECMAScript 6, tambi茅n conocido como ES6, fue lanzado en junio de 2015 y trae una gran cantidad de caracter铆sticas nuevas y mejoras al lenguaje. Algunas de las caracter铆sticas m谩s importantes incluyen:

...

Reg铆strate o inicia sesi贸n para leer el resto del contenido.

Aportes 7

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Creo que hay un pequenio error. Promise.prototype.finally son parte de ES9

ES6: mejoras m谩s importantes


.
ES6, tambi茅n conocido como ECMAScript 2015, es una versi贸n relevante de JavaScript que fue lanzada en junio de 2015. Es la primera actualizaci贸n significativa del lenguaje en varios a帽os, y trae consigo una gran cantidad de mejoras y nuevas caracter铆sticas.
.
Entre las mejoras m谩s importantes de ES6 se encuentran:
.

  • Declaraci贸n de variables mejorada: Con ES6, se introdujeron dos nuevas formas de declarar variables: 鈥渓et鈥 y 鈥渃onst鈥. Esto permite un mejor control del alcance de las variables y ayuda a prevenir errores comunes en JavaScript.
    .
  • Arrow functions: Las funciones de flecha, o arrow functions, son una forma m谩s corta y legible de escribir funciones en JavaScript. Son especialmente 煤tiles cuando se trabaja con arrays y objetos.
    .
  • Template literals: Los template literals son una forma m谩s f谩cil y legible de crear cadenas de texto. Permiten la interpolaci贸n de variables y expresiones dentro de cadenas de texto, lo que hace que el c贸digo sea m谩s limpio y f谩cil de entender.
    .
  • Promesas: Las promesas son una forma de manejar tareas as铆ncronas en JavaScript. Con ES6, se introdujeron las promesas nativas en el lenguaje, lo que hace que sea m谩s f谩cil trabajar con operaciones as铆ncronas.
    .
  • M贸dulos: ES6 introduce un nuevo sistema de m贸dulos que permite a los desarrolladores dividir su c贸digo en peque帽as piezas reutilizables. Esto hace que sea m谩s f谩cil de mantener y de trabajar en proyectos m谩s grandes.

Dado que los objetos en JS son referencias a espacios en memoria, que se halla incluido el spread operator es muy importante para evitar side effects

Las funciones an贸nimas en JavaScript son aquellas que no han sido declaradas con un nombre. En este lenguaje de programaci贸n, podemos declarar este tipo de elemento usando cualquiera de los modos de escribir funciones.

31/89 ES6
ES6 trae una fran cantidad de caracter铆sticas nuevas y mejoras al lenguaje JavaScript incluyendo:

Parametros por defecto: ES6 permite la asignaci贸n de valores por defecto a los par谩metros de una funci贸n

function suma(a, b = 0) {
  return a + b;
}
suma(2); // Output: 2
suma(2, 3); // Output: 5

Object literal shortland: ES6 introduce una nueva sintaxis para crear objetos literales de manera m谩s sencillas y legible

const nombre = "Juan";
const edad = 30;
const persona = { nombre, edad };
console.log(persona); // Output: { nombre: "Juan", edad: 30 }

Promises: ES6 incluye una nueva forma de manejar operaciones as铆ncronas mediante la utilizaci贸n de promesas

function miFuncion() {
  return new Promise((resolve, reject) => {
    // c贸digo as铆ncrono
    if (error) {
      reject(error);
    } else {
      resolve(resultado);
    }
  });
}
miFuncion().then(resultado => console.log(resultado)).catch
(error => console.log(error));

M贸duloes din谩micos: Es6 permite la carga din谩mica de m贸dulo mediante la utilizaci贸n del m茅todo 矛mport()`

import('./miArchivo.js').then(miModulo => {
  miModulo.miFuncion();
}).catch(error => console.log(error));

Rest parameters: ES6 introduce la sintaxix 鈥樷︹ para permitir la captura de argumentos restantes en una funci贸n en un array

function suma(...numeros) {
  return numeros.reduce((acumulado, numero) => acumulado + numero, 0);
}
console.log(suma(1, 2, 3, 4, 5)); // Output: 15

Mi ejemplo

class DragonBall {
	constructor(personaje, ki) {
	this.personaje = personaje;
	this.ki = ki;
	}
	saludar() {
		console.log(`Yo soy ${this.personaje} y mi poder es ${this.ki}`);	
	}
}
const persona = new DragonBall("Goku", 300000000000000000000000000000000000);;
persona.saludar();

Adem谩s del spread operator, se a帽adi贸 otra funci贸n con los tres puntos (鈥) llamada rest operator.

Dejo un ejemplo:

/*-----------------------Operador de propagaci贸n (...)-----------------------*/

let person = { name: "Alexa", age: 24 };
let country = "COL";
//let data = [...person, country ]; //error por ser array. Solo se pueden copiar de array a arrays y objects a objects
let data = {...person, country }; //... permite que se copien los elementos del object person a un nuevo objeto
console.log(data); //{ name: 'Alexa', age: 24, country: 'COL' } Adiciona en su contenido el contenido del object person y el valor de country (en este caso se guarda como una propiedad-valor)

let pares = [2,4,6,8,10]; //para arrays tambi茅n sirve
let copyPar = [...pares];
let paresVeinte = [...pares,12,14,16,18,20];
console.log(copyPar); //[ 2, 4, 6, 8, 10 ]
console.log(paresVeinte); //[2,  4,  6,  8, 10, 12, 14, 16, 18, 20]

/*-----------------------Par谩metro rest (resto)-----------------------*/

const array = [1,2,3,4,5];

function hola (primero, segundo, ...resto) { // Par谩metro Rest (... + nombre de variable que almacenar谩 el array). A diferencia del spread operator, este siempre va al final y guarda el resto de elementos que se pasen como argumento a la funci贸n en un array
    console.log(primero, segundo)  // 1 2
    console.log(resto) // [3,4,5, "final"]
}

hola(...array, "final") //<- Operador de propagaci贸n (pasa como argumentos 1,2,3,4,5)
//Lo mismo que hacer -> hola(1,2,3,4,5, "final")

//Tambi茅n sirve para obtener los elementos restantes de un array u objeto usando desestructuraci贸n

const objeto = {
    nombre: "Andres",
    age: 23,
    plataforma: "Platzi"
}
const arrayNumber = [0,1,2,3,4,5]

const {plataforma, ...usuario} = objeto;
const [cero, ...positivos] = arrayNumber;

console.log(usuario); // { nombre: 'Andres', age: 23 }
console.log(positivos); // [ 1, 2, 3, 4, 5 ]