Frankly, this is all because developers would rather die than read the docs. The behavior of this is clearly described… but not as crystal-clear as this course. 😉 At the language level, a single, simple rule governs the behavior of this. That’s it. Beyond that, APIs we use can alter that behavior to better suit their needs, as in the DOM or Node streams.
When you’re done with this course, you’ll be a certified Master Of This™, and won't ever get caught off-guard by how it behaves. Freedom!