Posts

Reducing Katas

Currently back doing kata as I realise after a year of glue engineering, a lot of heavy React and a lot of Node, I’ve forgotten a lot of the basics. There are certain programming practices, I …

Stone Soup Programming

I recently read (I think it was The Pragmatic Programmer, but I can’t be sure) and it introduced the concept of Stone Soup Programming (if anyone knows the actual book that has a section on this …

Shape Shifting Functions

I wanted to write a quick post about decorators, as I’ve been using them a lot recently and I think they’re a really useful tool to have in your belt. I spent quite a bit of time trying to …

How to Make Time

How much can you get done in a day? Sometimes it can feel that there’s just not enough hours in the day. Other times we don’t feel much like doing anything. And how many times have you heard someone …

Higher-Order Functions

Introduction Functions are the building blocks of JavaScript. By defining a block of code and executing it when we choose, we can build complex applications whilst keeping our code clean, easy to …

Call, Bind and Apply

tl;dr call, bind and apply are 3 really important methods that are available on all Javascript functions OOTB. Each method does the same kind of thing, but the invocations are different. Call call …

JavaScript 101: Immediately Invoked Functions

tl;dr Like it says on the tin, an immediately invoked function (IIFE) is a function that is executed as soon as it is defined. IIFE’s main use cases are for when we don’t want to pollute …

Comparison and Logical Operators in Javascript

Logical and comparison operators are a means of comparing data types. So given x = 5: | Operator | Description | How to use | Result | | ------------- | ----------------------------- | …

Javascript 101: Hoisting

tl;dr - “hoisting” is a default behaviour of Javscript, basically it means “variables and function declarations get hoisted to the top”. The concept of hoisting can throw off …

JavaScript 101: Implicit Type Coercion

tl;dr: Javascript automatically converts some types into others implicit - always to be found in; essentially connected with. coercion - persuading someone to do something by using force or threats. …

JavaScript 101: Data Types

Every programming language needs to know the kinds of data it will be working with. By knowing and learning about how a computer language uses data we can write better programs. When we define a …

Passing By Value and Passing By Reference

tl;dr Javascript passes its’ primitive types by value, and its’ non-primitive types by reference. “Value” and “Reference” here are referring to a variables position in memory. …