𝔖 Scriptorium
✦   LIBER   ✦

📁

You Don't Know JS Yet: Scope & Closures

✍ Scribed by Kyle Simpson


Publisher
Leanpub
Year
2020
Tongue
English
Leaves
270
Series
You Don't Know JS Yet
Edition
2
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


The worldwide best selling You Don't Know JS book series is back for a 2nd edition: You Don't Know JS Yet. All 6 books are brand new, rewritten to cover all sides of JS for 2020 and beyond. You'll still get in-depth coverage of the core language, applied in useful code organization patterns for your programs. And of course, through Kyle's unique perspective and conversational tone, explore passionate, reasoned debate of the most common questions developers face.

Scope & Closures, the second book in the new edition series, dives deep into how and why to organize variables into different buckets of scope, limiting scope over-exposure and improving code maintainability. On top of lexical scope, closure empowers functions with memory, preserving variables across calls. Modules leverage scope and closures to encapsulate data and behavior.

In Scope & Closures, you'll dig into:

Nesting lexical scopes with functions and blocks, to limit scope exposure of variables
Functions remembering variables through closure
Modules, one of the most important code organization patterns in programming

✦ Table of Contents


Table of Contents
Foreword
Preface
The Parts
The Title?
The Mission
The Path
Chapter 1: What's the Scope?
About This Book
Compiled vs. Interpreted
Compiling Code
Compiler Speak
Cheating: Runtime Scope Modifications
Lexical Scope
Chapter 2: Illustrating Lexical Scope
Marbles, and Buckets, and Bubbles… Oh My!
A Conversation Among Friends
Nested Scope
Continue the Conversation
Chapter 3: The Scope Chain
``Lookup'' Is (Mostly) Conceptual
Shadowing
Function Name Scope
Arrow Functions
Backing Out
Chapter 4: Around the Global Scope
Why Global Scope?
Where Exactly is this Global Scope?
Global This
Globally Aware
Chapter 5: The (Not So) Secret Lifecycle of Variables
When Can I Use a Variable?
Hoisting: Yet Another Metaphor
Re-declaration?
Uninitialized Variables (aka, TDZ)
Finally Initialized
Chapter 6: Limiting Scope Exposure
Least Exposure
Hiding in Plain (Function) Scope
Scoping with Blocks
Function Declarations in Blocks (FiB)
Blocked Over
Chapter 7: Using Closures
See the Closure
The Closure Lifecycle and Garbage Collection (GC)
An Alternative Perspective
Why Closure?
Closer to Closure
Chapter 8: The Module Pattern
Encapsulation and Least Exposure (POLE)
What Is a Module?
Node CommonJS Modules
Modern ES Modules (ESM)
Exit Scope
Appendix A: Exploring Further
Implied Scopes
Anonymous vs. Named Functions
Hoisting: Functions and Variables
The Case for var
What's the Deal with TDZ?
Are Synchronous Callbacks Still Closures?
Classic Module Variations
Appendix B: Practice
Buckets of Marbles
Closure (PART 1)
Closure (PART 2)
Closure (PART 3)
Modules
Suggested Solutions


📜 SIMILAR VOLUMES


You Don't Know JS: Scope & Closures
✍ Kyle Simpson 📂 Library 📅 2014 🏛 O'Reilly Media 🌐 English

<div><p>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 a

You Don't Know JS: Scope & Closures
✍ Kyle Simpson 📂 Library 📅 2014 🏛 O'Reilly Media 🌐 English

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 t

You Don't Know JS: Scope & Closures
✍ Kyle Simpson 📂 Library 📅 2014 🏛 O'Reilly Media 🌐 English

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 t

You Don't Know JS Yet: Get Started
✍ Kyle Simpson, Simon St.Laurent (editor) 📂 Library 📅 2020 🏛 Independently published 🌐 English

It seems like there's never been as much widespread desire before to learn JS. But with a million blogs, books, and videos out there, just where do you start?The worldwide best selling "You Don't Know JS" book series is back for a 2nd edition: "You Don't Know JS Yet". All 6 books are brand new, rewr

You Don't Know JS Yet: Get Started
✍ Kyle Simpson 📂 Library 📅 2020 🏛 Leanpub 🌐 English

The worldwide best selling You Don't Know JS book series is back for a 2nd edition: You Don't Know JS Yet. All 6 books are brand new, rewritten to cover all sides of JS for 2020 and beyond. You'll still get in-depth coverage of the core language, applied in useful code organization patterns for your

你不知道的JavaScript(上卷)= You Don’t Know JS S
✍ Kyle Simpson ; 赵望野, 梁杰; 📂 Library 📅 2015 🏛 人民邮电出版社 🌐 Chinese

JavaScript语言有很多复杂的概念,但却用简单的方式体现出来(比如回调函数),因此,JavaScript开发者无需理解语言内部的原理,就能编写出功能全面的程序;就像收音机一样,你无需理解里面的管子和线圈都是做什么用的,只要会操作收音机上的按键,就可以收听你喜欢的节目。然而,JavaScript的这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发者,如果没有认真学习也无法真正理解语言本身的特性。正是因为绝大多数人不求甚解,一遇到出乎意料的行为就认为是语言本身有缺陷,进而把相关的特性加入黑名单,久而久之就排除了这门语言的多样性,人为地使它变得不完整、不安全。 “