· 2 min read

JavaScript Core Concepts Study Guide: 76 Flashcards From NaN to Closures

JavaScript core concepts in 76 flashcards: coercion, == vs ===, falsy values, let/const, closures, private fields, event loop — plus 3 cards to fix first.

JavaScript core concepts flashcards illustration with curly braces and orbiting gears

Studying. But it's also a video game. 🎮

Flashcards, quizzes and games that make you actually remember.

Start playing — it's free

Posted by

Most JavaScript bugs aren't about frameworks — they're about coercion, this, and references. The JavaScript: Core Concepts deck (code VA0456, 76 cards) on Flip It is a compact version of MDN's language overview: the core semantics a Python, Java or C developer needs to stop guessing.

Study this deck: JavaScript: Core Concepts

1 / 10
Question

Seven primitive types in JavaScript

Knew itLearning

Tap the card for the answer · swipe right if you knew it, left if not

Ten cards that trip people up

FrontBack
Result of 3 / 2 in JavaScript1.5 (not 1)
Is NaN equal to itself?No — the only value not equal to itself
'3' + 4 + 5'345' (concatenation from left to right)
123 == '123'true (type coercion)
0 && 'Hello'0 (first falsy value)
Does const prevent mutations?No, only reassignment: obj.a = 1 is allowed
Temporal dead zoneWhere let/const exist in scope but can't be accessed before declaration
Can two separately created objects be equal?No — different references, even with the same properties
Sparse arraya[100] = 'fox' leaves slots 3-99 empty
Can you read private fields outside the class?No — #field is unreadable even in derived classes

Concepts covered

The seven primitives (Number, BigInt, String, Boolean, Symbol, Undefined, Null), IEEE 754 doubles, NaN contagion, Infinity, UTF-16 strings, template literals, null vs undefined, falsy values, let/const/var, dynamic typing, + concatenation, == vs ===, short-circuit &&/||, ASI, for...of vs for...in, switch fall-through, try...catch with instanceof, objects as dictionaries, dot vs bracket notation, pass-by-reference, the length property, rest and spread, destructured parameters, default parameters, arrow functions, IIFE, first-class functions, closures, classes with static and #private, the single-threaded event loop, callbacks vs Promises vs async/await, ES modules, and host runtimes (browser, Node.js, Deno).

Fix three cards before your first review

  • Delete card 29. JavaScript has no walrus operator — := is Python 3.8. In JS, a plain assignment is already an expression: while ((line = read()) !== null).
  • Repair card 35. Its front lost its beginning; it should read "switch compares cases using…" → ===.
  • Complete card 13. The falsy list misses -0 and 0n. Add them, or you'll be surprised by if (0n).

How to drill it

Group the cards by the habit they break. Coming from Python? Cards 4, 21-25, 29, 32, 55 and 57 rewire your assumptions. From Java or C? Focus on 17, 40-48 (objects and arrays are mutable, dynamic and passed by reference) and 71-73 (no threads, only the event loop). For the expression cards ('3' + 4 + 5, 0 && 'Hello'), predict the output, then type it into the browser console — wrong guesses stick better than right ones.

Once this core is solid, move on to Array, String & Object methods and the ES6+ features deck.

Search for VA0456 in the Flip It library to start.

Ready to learn faster? 🚀

Join FLIP IT for free and turn studying into a game.

Create my free account