
You Don't Know JS: Scope & Closures
No matter how much experience you have with JavaScript, odds are you don’t fully understand the language. This concise yet in-depth guide takes you inside scope and closures, two core concepts you need to know to become a more efficient and effective JavaScript programmer. You’ll learn how and why they work, and how an understanding of closures can be a powerful part of your development skillset. Like other books in the "You Don’t Know JS" series, Scope and Closures dives into trickier parts of the language that many JavaScript programmers simply avoid. Armed with this knowledge, you can achieve true JavaScript mastery. Learn about scope, a set of rules to help JavaScript engines locate variables in your code Go deeper into nested scope, a series of containers for variables and functions Explore function- and block-based scope, “hoisting”, and the patterns and benefits of scope-based hiding Discover how to use closures for synchronous and asynchronous tasks, including the creation of JavaScript libraries
Reviews

Kehinde Adeleke@adeleke5140
A very wonderful introduction to the JS language. Kyle adeptly explains why we need to learn every part of JS. Every section was filled with new information and explained so thoroughly. Hands down the best JS material I've used.

Kehinde Adeleke@adeleke5140
Another amazing read from Kyle. I feel I'd need to reread to fully get Lexical scope but every other parts like function and block scope, hoisting and closures were explained succinctly.

Phu Le Ngo@phulengo
Good for those who are currently fresher in JavaScript and completely amaze those who thought they already understand all about it.

tiff@tiffw
You can find a full review of this book at Tiffany R. White Blog.

Nedu@nedu
Amazing!

Brent Nef@n3f
Good introduction to javascript if you don't know it -- but you are familiar with programming concepts and terminology.

Arihant Verma@arihant

Daniel Voicu@danielvoicu

Josh Kuiros@joshkuiros

Josh Kuiros@joshkuiros

Mitch Stewart@mitchbones

Róbert Istók@robertistok

Phu Le Ngo@phulengo

Alex Fong@apfong

James Miller@severian

tiff@tiffw

Hatem Abdelmowgoud @iammowgoud

Hatem Abdelmowgoud @iammowgoud

Rory O'K@ror

Guillermo Rodas@glrodasz

Meelahn@iacovibus

Meelahn@iacovibus

Engin Arslan@enginx

Jason Long@jasonlong