¡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

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
16 Hrs
24 Min
32 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: “let” y “const”. 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 ]