Javascript: for (each|in|of)

Freitag, 28.1.2022, 13:47 > daMax

Meiner unwesentlichen Meinung nach ist eine Programmiersprache nur so gut wie sie einerseits simpel, andererseits leicht zu lesen und dritterseits in sich schlüssig ist. So gesehen kann Javascript nicht wirklich gut sein, denn wozu braucht man bitte 4 verschiedene for-Schleifenkonstrukte, hä? Und ich muss jedes Mal wieder nachgucken, was wofür "gedacht" war. Hass. >:-(

https://thecodebarbarian.com/for-vs-for-each-vs-for-in-vs-for-of-in-javascript.html

Und spätestens, wenn solche verdrehten "Erklärungen" nötig werden, weiß ich, dass meine Meinung nicht ganz verkehrt sein kann:

Below is how the 4 looping constructs handle ['a',, 'c'] with an empty element. for/in and for/each skip the empty element, for and for/of do not.

// Prints "a, undefined, c"
for (let i = 0; i < arr.length; ++i) {
  console.log(arr[i]);
}

// Prints "a, c"
arr.forEach(v => console.log(v));

// Prints "a, c"
for (let i in arr) {
  console.log(arr[i]);
}

// Prints "a, undefined, c"
for (const v of arr) {
  console.log(v);
}

Yeah JS, fuck.you(2);