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.

Studying. But it's also a video game. 🎮
Flashcards, quizzes and games that make you actually remember.
Posted by
Related reading
Learn Vue.js Core Concepts: 30 Flashcards on Reactivity, Directives and the Vue Ecosystem
Learn Vue.js with deck XT7941: 30 flashcards on directives, virtual DOM, reactivity, computed vs watch, Pinia, Vue Router and Vite, plus the cards to update.
OWASP Top 10 Flashcards: Study the 2021 List and Update It for 2025
Study OWASP Top 10 with 35 flashcards on injection, SSRF, SAST, DAST, IAST and RASP, then add the missing #1 risk and the new OWASP 2025 ranking.
Learn CSS Flexbox and Grid in German: 58 Flashcards on Hauptachse, Spuren and Zellen
Learn CSS Flexbox and Grid with German backs: 58 real flashcards on Hauptachse, Querachse, Spur and Zelle, plus the Zeile trap and three backs to fix.
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 / 10Seven primitive types in JavaScript
Tap the card for the answer · swipe right if you knew it, left if not
Ten cards that trip people up
| Front | Back |
|---|---|
| Result of 3 / 2 in JavaScript | 1.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 zone | Where 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 array | a[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
-0and0n. Add them, or you'll be surprised byif (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.