var is function-scoped, while let and const are
block-scoped. const cannot be reassigned.
map() returns a new array, forEach() iterates without returning,
and filter() returns elements that match a condition.
Arrow functions have a shorter syntax and do not bind their own this, making
them useful in callbacks.
Promises handle asynchronous tasks with pending, resolved, and
rejected states using .then() and .catch().
A closure is a function that remembers variables from its outer scope even after the outer function has finished execution.