Explain what “npm” stands for.
Explain the purpose of the package.json file and node_modules directory.
Given multiple choices, identify the difference between npm’s package.json and package-lock.json files.
Use npm –version to check what version is currently installed and use npm to update itself to the latest version.
Use npm init to create a new package and npm install to add a package as a dependency. Then use require to import the module and utilize it in a JavaScript file.
Given a package version number following the MAJOR.MINOR.PATCH semantic versioning spec that may include tilde (~) and caret (^) ranges, identify the range of versions of the package that will be compatible.
Explain the difference between a dependency and a development dependency.
Given an existing GitHub repository, clone the repo and use npm to install it’s dependencies.
Use npm uninstall to remove a dependency.
Use npm update to update an out-of-date dependency.
Given a problem description, use the npm registry to find a reputable package (by popularity and quality stats) that provides functionality to solve that problem.
Given a package with vulnerabilities due to outdated dependency versions, use npm audit to scan and fix any vulnerabilities.
Write and run an npm script.
Define a constructor function using ES5 syntax.
Define a method on the prototype of a constructor function.
Declare a class using ES6 syntax.
Define an instance method on a class (ES6).
Define a static method on a class (ES6).
Instantiate an instance of a class using the new keyword.
Implement inheritance using the ES6 extends syntax for an ES6 class.
Utilize the super keyword in a child class to inherit from a parent class.
Utilize module.exports and require to import and export functions and class from one file to another.
The three pillars of object-oriented programming
The SOLID principles - What does each letter stand for? - We talked about the S and L in more depth; know how to apply them and what they mean for us in JavaScript
How to apply the Law of Demeter