Conceptos básicos de this; call/apply/bind (introducción)
Comprenda a qué se refiere this en funciones y métodos; aprenda el this de las arrow functions y una introducción a call/apply/bind.
Conceptos básicos de this; call/apply/bind (introducción) es una lección gratuita de JavaScript Academy en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de JavaScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de JavaScript Academy incluye 3 lecciones en total.
Introducción a this
Objetivo: comprobar a qué se refiere this en distintas llamadas, aprender el this de las funciones flecha y probar call/apply/bind paso a paso.
- Llamada como método frente a llamada normal
- this en funciones flecha
- call/apply/bind

this en una llamada como método
En una llamada como método, this apunta al objeto que aparece antes del punto.
// Method call: this is the object before the dot
const user = {
name: "Ayla",
say() {
console.log("I am", this.name);
}
};
user.say();

this en una llamada normal
En una llamada normal, this es undefined en modo estricto. En los navegadores sin modo estricto, puede ser window.
// Plain function call: this is undefined in strict mode
function show() {
console.log("this is", this);
}
show();

this de las funciones flecha (léxico)
Una función flecha utiliza el this externo (de forma léxica). Es muy útil para las devoluciones de llamada dentro de métodos.
// Arrow functions do not have their own this
// They capture this from the surrounding scope
const team = {
title: "Blue",
start() {
const report = () => {
console.log("Team:", this.title);
};
report();
}
};
team.start();

call frente a apply
call y apply ejecutan la función inmediatamente con el this indicado.
// call/apply invoke the function with a chosen this
function intro(lang1, lang2) {
console.log("User:", this.name, "knows", lang1, "and", lang2);
}
const person = { name: "Mina" };
// call passes arguments normally
intro.call(person, "JS", "TS");
// apply passes arguments as an array
intro.apply(person, ["JS", "TS"]);

Conceptos básicos de bind
bind devuelve una función nueva que recuerda el this elegido para llamadas posteriores.
// bind creates a new function with this fixed
function sayHi() {
console.log("Hi from", this.name);
}
const dev = { name: "Lena" };
const sayHiFromLena = sayHi.bind(dev);
sayHiFromLena();
sayHiFromLena();

Cuestionario sobre bind frente a call/apply
Comprobación rápida: fijar this.

Repaso
Repaso: las llamadas como método establecen this en el objeto, las llamadas normales tienen this como undefined en modo estricto, las funciones flecha capturan el this externo, call/apply lo establecen para una llamada y bind lo fija para llamadas posteriores.

Preguntas frecuentes
¿La lección «Conceptos básicos de this; call/apply/bind (introducción)» es gratis?
Sí — el texto completo de «Conceptos básicos de this; call/apply/bind (introducción)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de JavaScript Academy, actualiza a CoddyKit PRO. El curso de JavaScript Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Conceptos básicos de this; call/apply/bind (introducción)»?
Comprenda a qué se refiere this en funciones y métodos; aprenda el this de las arrow functions y una introducción a call/apply/bind. Practicas JavaScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar JavaScript Academy?
No se requiere experiencia previa. JavaScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.
¿Cuánto tiempo toma la lección «Conceptos básicos de this; call/apply/bind (introducción)»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de JavaScript Academy?
Sí. Cada lección de JavaScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Declaraciones frente a expresiones y conceptos básicos de arrow functions
- Parámetros, valores predeterminados, rest y retornos
- Conceptos básicos de this; call/apply/bind (introducción)