Constructors, Prototypes and this
JavaScript Fundamentals
Objectives
- explain the four principles of the 'this' keyword and demonstrate each explanation with an example of their uses
- describe, and use prototypes, constructor functions the new keyword, and pseudo-classical inheritance to build objects
Introduction
In order to complete these tasks you will need your newly aquired knowledge of constructor functions, prototypes, and the this
keyword.
Instructions
Task 1: Set up Project
Using VSCode and Command Line:
- Fork the repo
- Go into canvas and connect your reop to codegrade
- Clone your forked version of the repo
- DO NOT CREATE A BRANCH. You will be pushing your changes to the main/master today
- cd into your repo
- open the terminal in your vs code and type
npm install
- next type
npm run test
in your terminal - Complete your work making regular commits to main/ master your codegrade score will update each time you make a push.
Task 2 - MVP
Find the file index.js
and complete tasks 1, 2 and 3 until all of your tests pass.
There is an additional task 4 which requires written explanations and has no tests.
If you run into trouble while coding, fight the good fight for 20 minutes and then get on the help channel. Remember to formulate your help request in a professional manner - like you would at the job - by including error messages, screenshots, and any other pertinent information about the problem, as well as what things you have attempted already while trying to solve it.
Testing & Debugging
Open a second terminal inside of your project by clicking on the split terminal icon
Inside of your second terminal type npm start
You will be running your tests in one terminal and debugging in the other. As you work on your code you should make use of console.log
to check your progress and debug.
Task 3 - Stretch
There are stretch goals found throughout index.js
. Do not start work on these until you have finished MVP.
Resources
What the Beep is this
in JavaScript?
Submission format
Please submit your project via codegrade by following these instructions See part 2, submitting an assignment with codegrade