Sign in

Professional Software Engineer, man of many hobbies

JavaScript is a dynamic programming language. This is great for flexibility but it can make code pretty fragile due to checks not happening until runtime.

Said flexibility is a double edged sword. On one hand it gives developers a lot of freedom, but on the other it can lead to…


In my last post about the prototype chain, I touched very briefly on the this keyword and binding — and now the time has come to give it our full attention.

It’s one of the more confusing areas of JavaScript, so make sure your thinking hat is nearby, have a…


If, like me, your previous programming experience was in Object Oriented languages like Java or C#, JavaScript’s prototype based approach to inheritance might take a minute to get your head around.

You can get by just fine without delving too deeply, or even thinking about prototypes. Where it starts getting…

Adam Reeves

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