← Volver al blog

Fundamentos

24 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

Objetos literales en JavaScript: qué son y cómo cambió su sintaxis

  • JavaScript
  • Objetos
  • ES6
  • Fundamentos

En Java un objeto pide una clase, un constructor y varios pasos antes del new. En JavaScript alcanza con abrir dos llaves. Qué hace que eso siga siendo un objeto de verdad, y el recorrido de su sintaxis desde ES5 hasta hoy.

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 →