1. JavaScript has typed values, not typed variables.
2. The proper way to characterize them is that == checks for value equality with coercion allowed, and === checks for value equality without allowing coercion.
3. To understand what this points to, you have to examine how the function in question was called.
4. It's definitely worth the effort to let your brain simmer on closures for a bit.
5. It challenges you to go beyond your comfort zone and to ask the deeper "why" questions for every single behavior you encounter.
1. JavaScript has typed values, not typed variables.
2. The proper way to characterize them is that == checks for value equality with coercion allowed, and === checks for value equality without allowing coercion.
3. To understand what this points to, you have to examine how the function in question was called.
4. It's definitely worth the effort to let your brain simmer on closures for a bit.
5. It challenges you to go beyond your comfort zone and to ask the deeper "why" questions for every single behavior you encounter.