← Volver al blog

Curso

46 posts con este tag

·5 min de lectura

this, call, apply y bind en JavaScript

  • JavaScript
  • Fundamentos
  • Curso

El post anterior sobre class terminó anunciando este problema: a qué apunta this dentro de un método compartido en un prototipo depende de cómo se lo llame, no de dónde está escrito. Acá está el desarrollo completo: cuándo se pierde ese this, cómo fijarlo a mano con call y apply, cómo dejarlo fijo para siempre con bind, y por qué una arrow function no tiene nada de esto que arreglar porque nunca tuvo this propio. Todo verificado ejecutando el código.

Leer el post →
·5 min de lectura

class, new e instanceof en JavaScript

  • JavaScript
  • Objetos
  • Fundamentos
  • Curso

El post anterior terminó con una promesa: class no inventa un modelo de herencia nuevo, le pone una sintaxis conocida a la cadena de prototipos. Acá está el cumplimiento de esa promesa: qué hace new en cada paso, qué falla distinto si te olvidás de escribirlo antes o después de que exista class, qué compara instanceof en realidad, y por qué una función fábrica sigue siendo una alternativa válida. Todo verificado ejecutando el código.

Leer el post →
·5 min de lectura

Herencia y la cadena de prototipos en JavaScript

  • JavaScript
  • Objetos
  • Fundamentos
  • Curso

En el post de objetos literales quedó una pregunta sin responder: persona.toString() funciona sin que nadie haya escrito ese método. Acá está la respuesta completa: cómo delega un objeto en otro, cómo busca el motor una propiedad subiendo por la cadena, qué recorre for...in que Object.keys no recorre, y qué pasa cuando se modifica un prototipo que ya tiene objetos delegando en él, hasta el caso límite de modificar Object.prototype. Todo verificado ejecutando el código.

Leer el post →
·6 min de lectura

Valor y referencia en JavaScript

  • JavaScript
  • Fundamentos
  • Objetos
  • Curso

Los primitivos se comparan y se copian por valor. Los objetos, arrays y funciones se comparan y se copian por referencia. De esa diferencia sale por qué una copia con spread sigue compartiendo lo que tiene adentro, por qué const no protege el contenido de un objeto, y por qué modificar un parámetro adentro de una función a veces se nota afuera y a veces no. Todo verificado ejecutando el código.

Leer el post →
·11 min de lectura

Los tipos primitivos de JavaScript: siete, y uno miente

  • JavaScript
  • Fundamentos
  • Tipos
  • Curso

Siete tipos primitivos, un typeof que devuelve la respuesta equivocada desde 1995, strings que tienen métodos sin ser objetos y un número que no es igual a sí mismo. Todo verificado ejecutando el código.

Leer el post →