function x(name){
this.name = name;
const arrow =() =>{
setTimeout(() => {
console.log("Arrow" + this.name)
},100)
}
const func1 = () => {
setTimeout(() => {
console.log("Normal" + this.name)
},100)
}
arrow(name);
func1(name);
}
x("BOB")
how to call func1 from outside after calling x("BOB") function and how arrow functions change the value of this compared to normal functions
If you want to call arrow outside, you can try to return the function and call like this (closure concept)
function x(name){
this.name = name;
const arrow =() =>{
setTimeout(() => {
console.log("Arrow" + this.name)
},100)
}
const func1 = () => {
setTimeout(() => {
console.log("Normal" + this.name)
},100)
}
arrow(name);
func1(name);
return arrow
}
arrow = x("BOB")
arrow()
But I prefer, you to try OOPs structure.
I believe that the following example is exactly what you want:
function x(name) {
this.name = name;
const arrow = () => {
setTimeout(() => {
console.log("Arrow" + this.name);
}, 100);
};
const func1 = () => {
setTimeout(() => {
console.log("Normal" + this.name);
}, 100);
};
arrow(name);
func1(name);
x.func1 = func1;
x.arrow = arrow;
}
x("nawaf");
x.func1();
x.arrow();