Introduction

Knowing a language's history and machinery explains its quirks. typeof null is "object" because of a 1995 implementation shortcut that can never be fixed without breaking the web; code runs faster when you keep types stable because of how engines speculate; and a feature you read about today is usable only when its proposal has reached the right stage and shipped in your target engines.

Subsections