A picture of code with git branches

“It is easy to shoot your foot off with git, but also easy to revert to a previous foot and merge it with your current leg.”

— Jack William Bell

Why you should be using git branching

While working through Launch School, you will end up working on games such as Rock Paper Scissors, Tic-Tac-Toe, and other similar projects. That wonderful moment finally arrives when your code is working as it should and you can happily move on to the next lesson. Then you see that you have to add some bonus features to the game. OK, that sounds like fun.

Inevitably, you start to add new…


You got this

The idea behind the this keyword is that when you invoke a method that contains the this keyword in its body, this points to an object and tells the method where to look to find the properties needed in the method. The value of this can also be referred to as the execution context of a function or method.

What you need to know:

  1. Outside of a function body, this points to the global object.
  2. Regular function calls use the global object as their execution context.
  3. Method calls use the calling object as their execution context.
  4. How this is bound…


Cat typing on a keyboard.

JavaScript thinks that this is a picture of a duck typing. No seriously, it does. And as far as we are concerned if JavaScript thinks that this is a picture of duck typing, we can also assume it to be a picture of a duck typing.

What do I mean by this? Well, duck typing means that if two or more unrelated objects respond to the same method name, they are all ducks. Even if they aren’t. …


A confused man tries to work out what prototype means.

It can seem very daunting when you start learning about prototypes in JavaScript. A lot of the confusion stems from the fact that there are two different prototypes in JavaScript that refer to different concepts. Let me explain.

[[Prototype]]

[[Prototype]] is a hidden private property that all objects have in Javascript, it holds a reference to the object’s prototype.

An object’s prototype is the object that an object inherits or descends from. In the following diagram the object son descends from father , so father is the prototype of son. That means the hidden [[Prototype]] property of son points to father.


Macbook showing a code snippet on the screen.

To understand prototypes and inheritance in JavaScript, you will need to understand these five points:

  1. Objects can have properties.
  2. Objects inherit properties from their prototype.
  3. Functions are objects which can also have properties.
  4. Functions have a prototype property.
  5. A function’s prototype is NOT the same thing as an object’s prototype.

Let’s examine each of these points in more detail.

Disclaimer: The information in this article is information that I have learned from Launch School, MDN, and this excellent video by a Launch School student called Ryan Schaul. I am a student at Launch School and I wanted to write an…


A laptop with code open on the screen.

First of all, a bit of context. Almost exactly 30 days ago I left my job as an English teacher to begin studying programming full-time. I chose to study at Launch School as I felt that they offered a unique approach that is in line with my way of learning. In the last 30 days, I have logged over 180 hours of focused study.

Before joining Launch school, I spent two months learning the basics of JavaScript and practicing my problem-solving skills in another well-known free online Bootcamp. …

Eamon O'Callaghan

Transitioning to a new career as a software developer, currently studying JavaScript in Launch School.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store