- Objects
- Label variables as either Primitive vs. Reference.
- Identify when to use dot notation (
.
) vs. bracket notation ([]
) when
accessing values of an object. - Use the
obj[key] !== undefined
pattern to check if a given variable that
contains a key exists in an object. - Utilize
Object.keys
andObject.values
in a function. - Iterate through an object using a
for...in
loop. - Define a function that utilizes
...rest
syntax to accept an arbitrary
number of arguments. - Use
...spread
syntax for Object literals and Array literals. - Destructure an array to reference specific elements.
- Destructure an object to reference specific values.
- Write a function that accepts an array as an argument and returns an object
representing the count of each character in the array.
- Callbacks
- Given multiple plausible reasons, identify why functions are called
“First Class Objects” in JavaScript. - Given a code snippet containing an anonymous callback, a named callback,
and multipleconsole.log
s, predict what will be printed. - Write a function that takes in a value and two callbacks. The function
should return the result of the callback that is greater. - Write a function, myMap, that takes in an array and a callback as arguments.
The function should mimic the behavior ofArray.map
. - Write a function, myFilter, that takes in an array and a callback as
arguments. The function should mimic the behavior ofArray.filter
. - Write a function, myEvery, that takes in an array and a callback as
arguments. The function should mimic the behavior ofArray.every
.
- Given multiple plausible reasons, identify why functions are called
- Scope
- Identify the difference between const, let, and var declarations.
- Explain the difference between const, let, and var declarations.
- Predict the evaluation of code that utilizes function scope, block scope,
lexical scope, and scope chaining. - Define an arrow function.
- Implement a closure and explain how the closure effects scope.