Hi, I'm Jonathan 👋🏻

I am a software engineer in Nashville, Tennessee. I enjoy solving interesting problems and building cool things.


Event Bubbling and Capturing in React

February 12, 2022

By default, React event handlers are triggered by an event in the bubbling phase. This means that events are handled by the innermost…

Optional Chaining for JavaScript

October 14, 2020

Introduced in ES2020, the optional chaining operator, allows for a simple way to check the value of a deeply nested property within chained…

Nullish Coalescing for JavaScript

May 05, 2020

Traditionally in JavaScript, when assigning a default value, we use the logical OR operator ( || ) to check if the left-hand side expression…

An Introduction to the useEffect() Hook

December 27, 2019

I previously wrote about the useState hook which allows us to make stateful functional components, but what happens when we need to fetch…

Converting a String to a Number in JavaScript

December 01, 2019

There are several ways to convert a string to a number in JavaScript. Let's examine some of these solutions and some of their caveats. The…

An Introduction to the useState() Hook

August 12, 2019

React introduced the Hooks API as of version 16.8 which gave us the ability to utilize (or "hook into") certain features of React within a…