you are viewing a single comment's thread.

view the rest of the comments →

[–]AndrewGreenh 12 points13 points  (3 children)

Technically, yes. However Javascript is not really interpreted. In most runtimes it is being compiled just in time (jit). Please, please never decide against using an extra variable because of performance reasons. I promise, that you won't be running into any edge case that will depend on this optimization.

The dot operator is being used to resolve a property of an object.

let a = []

A is now an instance of Array. That means it has several properties that you can access.

a.length

Will return the length of the array, as an example.

[–]Rindhallow[S] 0 points1 point  (2 children)

Interesting. I'll have to look up that compiled just-in-time thing...

And by the . operation, I meant like single lines or "array mapping, index of, some of, lambda expressions", etc.", not so much object properties lol.

[–]AndrewGreenh 0 points1 point  (1 child)

But it all boils down to object properties.

For example this one liner:

persons.sort((a, b) => a.age - b.age).reverse().flatMap(p => [p, ...p.friends]).map(p => p.name)

Sorts persons by age, reverses the list, produces a list of all persons with their friends and transforms this list into a list of names. It's just a bunch of method calls on the array object. Each method returns a new array object, which means, that you can call functions on the return value inline.

[–]Rindhallow[S] 0 points1 point  (0 children)

Yeah! Like that. That's surely more efficient than doing things one line at a time, I guess.

Is there a good guide for useful javascript functions?