Skip to content

Commit 832c4b1

Browse files
committed
v0.2.5
1 parent d3bc230 commit 832c4b1

File tree

4 files changed

+183
-4
lines changed

4 files changed

+183
-4
lines changed

Vanilla JavaScript/Nuevos_Tipos/10_Call&Apply&Bind.js

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
// Call , Apply , Bind
44
// son metodos que nos ayudar a manejar el contexto de diferentes ambitos para llevar y traer datos de diferentes objetos.
5+
6+
// sabemo que en estos momentos el this tendra el contexto de window por defecto
57
console.log(this);
68

79
this.lugar = "Global Context";
@@ -10,32 +12,38 @@ function greet(context){
1012
console.log(`${context}`);
1113
}
1214

15+
// aqui estamos en el contexto global
16+
console.warn(`---------- Llamamos a nuestra funcion greet ---------------`);
17+
greet(this.lugar);
18+
1319
function greetContext(greet, name){
1420
console.log(`${greet} ${name} desde el ${this.lugar}`);
1521
}
1622

17-
greet(this.lugar);
18-
19-
// Creamos un objeto para probar en contexto se encuentra
20-
23+
// Creamos un objeto para probar el contexto donde se encuentra
2124
const object = {
2225
lugar : "Object Context",
2326
}
2427

2528
// con el metodo call(); LLamamos al this de un objeto
29+
console.warn(`---------- trayendo el contexto de un objeto con call() ---------------`);
2630
greetContext.call(object, "Hola", "Alex");
2731

2832
// si le pasamo como parametro al metodo call(); this nos manda al contexto global
33+
console.warn(`---------- trayendo el contexto de window con call() ---------------`);
2934
greetContext.call(this, "Hola", "Alex");
3035

3136

3237
// tambien con el metodo apply(); llamamos tambien al this del objeto que metemos como parametros
38+
console.warn(`---------- trayendo el contexto de un objeto con apply() ---------------`);
3339
greetContext.apply(object, ["Adios", "Coder"]);
3440

3541
// si mandamos como parametros this al metodo apply() pasa los mismo
42+
console.warn(`---------- trayendo el contexto de window con apply() ---------------`);
3643
greetContext.apply(this, ["Adios", "Coder"]);
3744

3845

46+
// Aprendiendo a usar bind()
3947
this.name= "Window";
4048

4149
// Creamos otro objeto
@@ -54,3 +62,16 @@ const monster = {
5462
}
5563

5664
monster.greet();
65+
66+
// ahora creo otro objeto como repaso de lo anterior
67+
console.warn(`------------ usando el metodo bind()---------------`);
68+
const programmer = {
69+
profession : "Programmer",
70+
speciality : "Hacker",
71+
greetPerson : person.greet.bind(person),
72+
greetMonster : monster.greet.bind(monster)
73+
}
74+
75+
// verificamos si pudimos traer los contexto de ambos objetos
76+
programmer.greetPerson();
77+
programmer.greetMonster();

Vanilla JavaScript/This/01_This.js

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
'use strict'
2+
3+
// This
4+
5+
// muestra valores en base a su contexto
6+
7+
// el contexto actual de this es el del objeto window por defecto
8+
console.log(this);
9+
console.log(window);
10+
console.warn(this === window);
11+
12+
this.name = "Global";
13+
14+
console.log(this.name);
15+
16+
function print(){
17+
console.log(this.name);
18+
}
19+
20+
console.warn(`------------- Cambiamos en contexto de this con otros objetos-------------`);
21+
22+
// creamos un objeto para cambiar el contexto de this
23+
const users = {
24+
name : "My users context",
25+
print
26+
// Como se puede apreciar el valor de this cambia dependiendo al contexto que se encuentra
27+
}
28+
users.print();
29+
30+
31+
// creamos otro objeto para ver otro contexto
32+
const passwords = {
33+
name : "123456siete",
34+
print
35+
}
36+
passwords.print();
37+
38+
39+
const email = {
40+
ether : "https://github.com/Zelechos",
41+
printEmail : ()=>{
42+
console.log(this.name);
43+
}
44+
}
45+
46+
// Aqui como se puede ver un arrow function rompe el contexto del this asignando ese contexto al padre en este caso a el objeto window
47+
email.printEmail();
48+
49+
console.warn(`----------- Probando this con una constructor------------`);
50+
// Ahora probamos el this con una funcion constructora
51+
52+
function Programmer(name){
53+
this.name = name;
54+
55+
return ()=> console.log(this.name);
56+
57+
}
58+
59+
const gusdtav = new Programmer("gustav");
60+
gusdtav();
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
'use strict';
2+
3+
// Call , Apply , Bind
4+
// son metodos que nos ayudar a manejar el contexto de diferentes ambitos para llevar y traer datos de diferentes objetos.
5+
6+
// sabemo que en estos momentos el this tendra el contexto de window por defecto
7+
console.log(this);
8+
9+
this.lugar = "Global Context";
10+
11+
function greet(context){
12+
console.log(`${context}`);
13+
}
14+
15+
// aqui estamos en el contexto global
16+
console.warn(`---------- Llamamos a nuestra funcion greet ---------------`);
17+
greet(this.lugar);
18+
19+
function greetContext(greet, name){
20+
console.log(`${greet} ${name} desde el ${this.lugar}`);
21+
}
22+
23+
// Creamos un objeto para probar el contexto donde se encuentra
24+
const object = {
25+
lugar : "Object Context",
26+
}
27+
28+
// con el metodo call(); LLamamos al this de un objeto
29+
console.warn(`---------- trayendo el contexto de un objeto con call() ---------------`);
30+
greetContext.call(object, "Hola", "Alex");
31+
32+
// si le pasamo como parametro al metodo call(); this nos manda al contexto global
33+
console.warn(`---------- trayendo el contexto de window con call() ---------------`);
34+
greetContext.call(this, "Hola", "Alex");
35+
36+
37+
// tambien con el metodo apply(); llamamos tambien al this del objeto que metemos como parametros
38+
console.warn(`---------- trayendo el contexto de un objeto con apply() ---------------`);
39+
greetContext.apply(object, ["Adios", "Coder"]);
40+
41+
// si mandamos como parametros this al metodo apply() pasa los mismo
42+
console.warn(`---------- trayendo el contexto de window con apply() ---------------`);
43+
greetContext.apply(this, ["Adios", "Coder"]);
44+
45+
46+
// Aprendiendo a usar bind()
47+
this.name= "Window";
48+
49+
// Creamos otro objeto
50+
const person = {
51+
name: "Alex",
52+
greet: function(){
53+
console.log(`Hello ${this.name}`);
54+
}
55+
}
56+
57+
person.greet();
58+
59+
// ahora vamos a crear otro objeto para enlazar el contexto con el metodo bind();
60+
const monster = {
61+
greet: person.greet.bind(person)
62+
}
63+
64+
monster.greet();
65+
66+
// ahora creo otro objeto como repaso de lo anterior
67+
console.warn(`------------ usando el metodo bind()---------------`);
68+
const programmer = {
69+
profession : "Programmer",
70+
speciality : "Hacker",
71+
greetPerson : person.greet.bind(person),
72+
greetMonster : monster.greet.bind(monster)
73+
}
74+
75+
// verificamos si pudimos traer los contexto de ambos objetos
76+
programmer.greetPerson();
77+
programmer.greetMonster();

Vanilla JavaScript/This/index.html

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<title>This en javascript</title>
8+
<script type="text/javascript" src="02_Call&Apply&Bind.js"></script>
9+
</head>
10+
<body>
11+
<style>
12+
body{
13+
background-color: #000;
14+
color: white;
15+
}
16+
</style>
17+
<h1>
18+
Nuevos Tipos de datos en Js
19+
</h1>
20+
</body>
21+
</html>

0 commit comments

Comments
 (0)