Creo que hay un pequenio error. Promise.prototype.finally
son parte de ES9
¡Te damos la bienvenida a este reto!
¡Bienvenido al mundo de JavaScript!
Día 1
Variables, funciones y sintaxis básica
Tipos de datos
Playground - Retorna el tipo
Tipos de datos - pt 2
Día 2
Operadores
Hoisting y coerción
Playground - Calcula la propina
Alcance de las variables
Día 3
Condicionales
Playground - Calcula años bisiestos
Switch
Playground - Obten información de mascotas según su tipo
Ciclos
Playground - Dibuja un triangulo
Día 4
Arrays
Playground - Encuentra al michi mas famoso
Objetos
Playground - Obten el promedio de los estudiantes
Día 5 - Checkpoint
Playground - encuentra el palindromo más grande
Día 6
Reasignación y redeclaración
Modo estricto
Día 7
Debugging y manejo de errores
Programación funcional
Quiz: Día 7
Día 8
Closures
Playground - Crea una calculadora con closures
Higher order functions
Playground - Crea tu propio método map
Día 9
ECMAScript
TC39
Quiz: Día 9
Día 10 - Checkpoint
ES6
ES7
Playground - Task planner
Día 11
Asincronismo
Playground - Promesas
Manejando el asincronismo
Playground - Resuelve el callback hell usando promesas
Playground - Resuelve el callback hell usando async/await
Día 12
Arrays a profundidad
Métodos de arrays: Every, Find y findIndex
Playground - Válida el formulario
Día 13
Métodos de arrays: Includes, Join y concat
Playground - agrupa los productos
Métodos de arrays: Flat y FlatMap
Playground - Encuentra la ubicación del valor buscado
Día 14
Mutable functions
Playground - Modifica una lista de compras
Métodos de arrays: sort
Playground - Ordena los productos
Día 15 - Checkpoint
Playground - Sistema de reservaciones de un hotel
Día 16
Programación orientada a objetos en JavaScript
Objetos literales
Playground - Congela el objeto recursivamente
Día 17
Prototipos en JavaScript
Playground - Modifica el prototype de los arrays
Playground - Crea un auto usando clases
Día 18
Abstracción en JavaScript
Playground - Sistema de carrito de compras
Encapsulamiento en JavaScript
Playground - Encapsula datos de los usuarios
Día 19
Herencia en JavaScript
Playground - Jerarquía de animales
Polimorfismo en JavaScript
Playground - Sistema de pagos
Día 20 - Checkpoint
Playground - Agenda de vuelos
Día 21
Patrones de diseño
Sinlgeton y Factory pattern en JavaScript
Playground - Implementa singleton en un chat
Día 22
Adapter y Decorator pattern en JavaScript
Playground - Personaliza productos de una tienda
Builder y Protype pattern en JavaScript
Playground - Mejora el código usando builder pattern
Día 23
Facade y proxy pattern en JavaScript
Playground - Proxy en servicio de mensajería
Chain of responsability y Observer pattern en JavaScript
Playground - Implementación de Observador en Newsletter
Día 24 - Checkpoint
Playground - Crea un task manager con patrones de diseño
Día 25
Estructuras de datos en JavaScript
Playground - Crea tu propia implementación de un array
Hash tables en JavaScript
Playground - Implementación de una HashTable para Contactos
Día 26
Set en JavaScript
Playground - Remueve duplicados de una lista
Maps en JavaScript
Playground - Crea un organizador de tareas
Día 27
Singly Linked List en JavaScript
Playground - Agrega métodos a la singly linked list
Playground - Implementación de una singly linked list
Día 28
Stacks en JavaScript
Playground - Crea un stack para una playlist
Día 29
Queues en JavaScript
Playground - Crea una cola de emails
Día 30
¡Lo lograste!
Live Class
30 días de JS con Juan DC
30 días de JS con Nicobytes
30 días de JS con GNDX
30 días de JS con LeoCode
30 días de JS con Teffcode
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
Paga en 4 cuotas sin intereses
Termina en:
LeoCode0
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
Creo que hay un pequenio error. Promise.prototype.finally
son parte de ES9
.
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:
.
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 ]
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?