sure that you correctly handle scope reduces the risk of unexpected side effects and
bugs. The scope of the variable declaration determines the execution context of the
variable; the ability to access a variable is determined by the execution context.
introduces a new class syntax to prototyping. Advanced objects like Map and Set
are useful data structures.