Because this depends on how a function is called, not where it is defined, and arrow functions do not have their own this. Confusing this shows in any question about callbacks or class-like patterns, which is most non-trivial JS.
Why is confusing this a common JavaScript mistake?
More FAQs in Common Mistakes Candidates Make in JavaScript Interviews
Because interviewers ask follow-ups that expose it. Reciting a definition does not help with 'why does this happen' or 'show me an example' follow-ups. Understand the reasoning behind each concept, not just the words.
Because it is core to how JS works on a single thread, and it explains async behavior. Treating JS as multithreaded or not understanding microtask vs macrotask ordering signals weak fundamentals, which interviewers catch.
Because == uses type coercion, which can cause unexpected results like '0' == 0 being true. === compares without coercion, requiring same type and value. Always use === unless you intentionally want coercion, which is rare.
Still have questions?
Browse all our FAQs or reach out to our support team
Want to upskill yourself?
Your learning library
Small steps. Big possibilities.
Find your next course. Build something great.