Yeah But Is there way to.

 
Spivak: I use intellij and when I do auto format it removes that space anyway

Oshman: It always seems like a mistake when I see a space there though, no idea why

Stuchlik: Maybe because you’re used to intellij removing it

Defoor: Hey tcsc, would you by any chances have a decent reference/article or anything like that which explains and teaches how apply, call and bind work?

Heth: Apply and call are pretty simple though

Stuchlik: Techdeck: it’s got you! Maybe autocompletion will start recommending local restaurants next.

Tator: I’m sure there’s a plugin for that

Haener: The basic idea with apply is that you have an array of arguments

Hergert: And you want to call a function using those arguments.

Drish: Tcsc well, yeah, as concepts themselves are simple, but when it actual comes putting them in use things get confusing, at least for me :-/ but yeah, as a concept I do understand what they do

Ridner: In case anyone was wondering about my question, it’s called SVG stacking – reading about it now

Polito: RonRichie: what are you confused about then

Tosto: Aha, I just want to see cases when they are used and how so I can imagine the scenarios when they come to be useful :

Schoelman: Tcsc ahhh, one thing Im not sure though, they say this value is dependent upon as *who* is calling the function rather than *where* it’s been called, and that’s what apply and call solve?

Lillie: Var someNumbers = 1, 2, 7, 4, 2, 0, -7; Math.max.applynull, someNumbers

Martindale: Thats a pretty common use for apply

Bosson: Taking a function that takes a variable number of arguments and giving it an array

Ramotar: Does it iterate over every single item in array? like loops do?

Foxe: It can do it multiple at a time, potentially

Crapp: But, conceptually, yeah, it iterates over every item.

Rimer: For the this value, the first argument to call and apply both specify the this value.

Reeher: Normally it’s taken from what the function is called on.

Heitmuller: That makes sense, I just trying to get a feel of it, then why in this simple example it doesn’t work? should it print the values of this array? https://repl.it/BHJI

Ruffins: Again, the first argument is the this value.

Fitzgerrel: You could either change that to log out this inside that function, or call it as logger.applynull, arr

Finner: Both would be equivalent, however the first would be pretty wierd to see in reality.

Aken: Since having a free function that manipulates this is usually not super useful.

Nanez: Aha, I fixed it with setting this to null, but as I’ve previously experienced with this sample, it only prints the very first item in the array and stops? so thats why I was trying to figure out if it loops over all items, then isn’t it supposed to print all elements in the array?

Mincy: Math.max loops over the items in the array

Sarzynski: Your function would need to do that.

Schraeder: You’d loop over arguments

Troe: Ahh so looping system should be provided by my function, not by call and apply

Puckhaber: I had this perception as call and apply iterate over objects themselvesas like they loop themselves

Loeurm: Https://repl.it/BHJI/1

Desmarias: No, they dont do the iteration

Vanlith: Oh that last one should say logger4. whatever

Gailun: Ahh, this is an awesome example: thanks a lot of this tcsc, let me dig into it and play around to get a feel, thanks for this

Robblee: How can I write this function without var use let or const instead. One way is to wrap calls in const object. Is there a more functional way of doing this?

Rupprecht: I don’t think FP has anything against declaring variables

Bjerk: Yeah But Is there way to avoid mutation and still achieve the same thing.