Outline
- JavaScript Fundamentals -- What is JavaScript?
- JavaScript Fundamentals -- Variables and Scope
- JavaScript Fundamentals -- Primitive Types
- JavaScript Fundamentals -- The this Keyword
-
JavaScript Fundamentals -- The JavaScript Console
- Introduction
- console.log + Exercise
- console.log Exercise Review
- console.info + Exercise
- console.info Exercise Review
- console.warn + Exercise
- console.warn Exercise Review
- console.error + Exercise
- console.error Exercise Review
- console.table + Exercise
- console.table Exercise Review
- console.assert + Exercise
- console.assert Exercise Review
- console.group + Exercise
- console.group Exercise Review
- Conclusion
-
JavaScript Fundamentals -- Logical and Comparison Operators
- Introduction to Logical and Comparison Operators
- Truthy and Falsy Values
- Comparison Operators -- Equality and Inequality
- Comparison Operators -- Equality and Inequality Exercise
- Comparison Operators -- Equality and Inequality Exercise Review
- Comparison Operators -- Relational
- Comparison Operators -- Relational Exercise
- Comparison Operators -- Relational Exercise Review
- Logical Operators -- Or
- Logical Operators -- Or Exercise
- Logical Operators -- Or Exercise Review
- Logical Operators -- And
- Logical Operators -- And Exercise
- Logical Operators -- And Exercise Review
- Logical Operators -- Not
- Logical Operators -- Not Exercise
- Logical Operators -- Not Exercise Review
- Logical Operators -- Nullish Coalescing
- Logical Operators -- Nullish Coalescing Exercise
- Logical Operators -- Nullish Coalescing Exercise Review
- Logical and Comparison Operators Conclusion
-
JavaScript Fundamentals -- Looping in JavaScript
- Introduction to Looping in JavaScript
- for Loops
- for Loops -- Why Use Them and Gotchas
- for ... of Loops
- Looping Exercise 1
- Looping Exercise 1 Review
- for ... in Loops
- Looping Exercise 2
- Looping Exercise 2 Review
- do while Loops
- Breaking out of Loops
- Skipping Passes Through Loops
- Looping Exercise 3
- Looping Exercise 3 Review
- Conclusion to Looping in JavaScript
-
JavaScript Fundamentals -- Functions in JavaScript
- Introduction to Functions in JavaScript
- Named Functions
- Anonymous Functions
- Arrow Functions
- Functions in JavaScript Exercise 1
- Functions in JavaScript Exercise 1 Review
- Default Parameters
- Named Parameters
- Rest Parameters
- Functions in JavaScript Exercise 2
- Functions in JavaScript Exercise 2 Review
- Functions in JavaScript Real Demo
- Conclusion to Functions in JavaScript
- JavaScript Fundamentals -- Strings, Numbers, & Dates
- JavaScript Fundamentals -- Objects in JavaScript
- JavaScript Fundamentals -- Arrays in JavaScript
- JavaScript Fundamentals -- Course Conclusion
Outline
- JavaScript Fundamentals -- What is JavaScript?
- JavaScript Fundamentals -- Variables and Scope
- JavaScript Fundamentals -- Primitive Types
- JavaScript Fundamentals -- The this Keyword
-
JavaScript Fundamentals -- The JavaScript Console
- Introduction
- console.log + Exercise
- console.log Exercise Review
- console.info + Exercise
- console.info Exercise Review
- console.warn + Exercise
- console.warn Exercise Review
- console.error + Exercise
- console.error Exercise Review
- console.table + Exercise
- console.table Exercise Review
- console.assert + Exercise
- console.assert Exercise Review
- console.group + Exercise
- console.group Exercise Review
- Conclusion
-
JavaScript Fundamentals -- Logical and Comparison Operators
- Introduction to Logical and Comparison Operators
- Truthy and Falsy Values
- Comparison Operators -- Equality and Inequality
- Comparison Operators -- Equality and Inequality Exercise
- Comparison Operators -- Equality and Inequality Exercise Review
- Comparison Operators -- Relational
- Comparison Operators -- Relational Exercise
- Comparison Operators -- Relational Exercise Review
- Logical Operators -- Or
- Logical Operators -- Or Exercise
- Logical Operators -- Or Exercise Review
- Logical Operators -- And
- Logical Operators -- And Exercise
- Logical Operators -- And Exercise Review
- Logical Operators -- Not
- Logical Operators -- Not Exercise
- Logical Operators -- Not Exercise Review
- Logical Operators -- Nullish Coalescing
- Logical Operators -- Nullish Coalescing Exercise
- Logical Operators -- Nullish Coalescing Exercise Review
- Logical and Comparison Operators Conclusion
-
JavaScript Fundamentals -- Looping in JavaScript
- Introduction to Looping in JavaScript
- for Loops
- for Loops -- Why Use Them and Gotchas
- for ... of Loops
- Looping Exercise 1
- Looping Exercise 1 Review
- for ... in Loops
- Looping Exercise 2
- Looping Exercise 2 Review
- do while Loops
- Breaking out of Loops
- Skipping Passes Through Loops
- Looping Exercise 3
- Looping Exercise 3 Review
- Conclusion to Looping in JavaScript
-
JavaScript Fundamentals -- Functions in JavaScript
- Introduction to Functions in JavaScript
- Named Functions
- Anonymous Functions
- Arrow Functions
- Functions in JavaScript Exercise 1
- Functions in JavaScript Exercise 1 Review
- Default Parameters
- Named Parameters
- Rest Parameters
- Functions in JavaScript Exercise 2
- Functions in JavaScript Exercise 2 Review
- Functions in JavaScript Real Demo
- Conclusion to Functions in JavaScript
- JavaScript Fundamentals -- Strings, Numbers, & Dates
- JavaScript Fundamentals -- Objects in JavaScript
- JavaScript Fundamentals -- Arrays in JavaScript
- JavaScript Fundamentals -- Course Conclusion
Arrow functions in JavaScript work a little differently than named functions. As we've seen throughout this course, named functions (a standard function with the function
keyword, opening and closing parens, and open and closing curly brackets) get their own context. If they're called on an object or with the .call
, .apply
, or .bind
method, their context is the object with which they're called. They also get a new object for context if they're called using the new
keyword. If none of those situations is true though, they default to the global context or undefined
if in strict mode.
Arrow functions, though, don't follow that same pattern. They always will only use the context that surrounds where they're called. So if they're used inside a named function, their context is the same as that named function. If they're not called inside a named function, their context defaults to the global context or undefined
if in strict mode.
For more information on this
in JavaScript, go read this blog post.