Object-Oriented Programming Demystified

Object-oriented programming (OOP) is the most common programming type and an essential part of popular programming languages, such as Java, C++ and C#. Its name offers an insight into how OOP languages work, which is by revolving around objects and using objects to get things done. The term object refers to a chunk of code that acts together as a whole and can be reused at any time, as well as interact with other objects. Some of the very basic elements of OOP include objects, classes and methods. Object-oriented programming works in a way that enables programmers to reuse their code and use it in multiple different instances, without having to write the code all over again. ...

September 24, 2019 · 3 min · 540 words · icarnaghan

JavaScript Arrow Functions: How Do They Work?

ES6 introduced a number of exciting features to the JavaScript standard classes, string templates, array and object de-structuring, block-scope variable declarations with “let” and “const”, and perhaps the most visible new feature, arrow functions. Arrow functions have quickly become the standard way of writing functions among professional JavaScript developers. Because they are so widespread, it’s essential for every JavaScript programmer to understand arrow functions - what they are, how to write them, and how they are different from ordinary functions. ...

September 23, 2019 · 4 min · 667 words · icarnaghan

JavaScript Closures

Anyone who has worked in JavaScript for any amount of time will likely come across concepts that require a deeper level of study in order to fully understand. Closures is certainly one of those areas that has caused me to review and experiment with several times. The purpose of this article is to provide a succinct overview of closures and offer several snippets of code to play around with in order to better understand this often tricky to grasp concept. Consciously or Unconsciously, most developers use closures while programming in JavaScript. Most of the time, everything works fine, but it is always better to understand how they work as they provide better control over your code. Moreover, at some point you might be asked to explain what closures are and hopefully by the end of this you will be in a much better position to do that. So let’s start with what a closure is. A simplified explanation would be that a closure is an inner function that has access to the variables of the outer function. This is called the scope chain. See my earlier article on JavaScript Scope if you need a refresher. ...

September 15, 2019 · 5 min · 943 words · icarnaghan

Learning to Program in TIC-80, a Fantasy Console

If you’re 40 years old or older, you might have learned how to use a computer on an old Commodore 64, Apple II or another computer about the same age. One of the things you probably learned about was the BASIC programming language. Maybe you were lucky enough to have a computer at home. One thing you probably learned was that if you wanted to play games, one way was to buy computer magazines at the bookstore and type in published source code. If you’re like some people, you learned a few things about programming from typing in those games, and went on to write your own. ...

September 2, 2019 · 4 min · 831 words · icarnaghan

AWS CodePipeline for Static Websites

AWS offers an immense array of features for deploying and managing complex sites. There are however a lot of use cases where you want to quickly setup an easy to use pipeline for deploying static websites (without a build process). I am going to cover how to get started using AWS to setup a basic no-frills web server using an easy-to-use deployment setup via AWS code repository and deployment services. ...

January 28, 2019 · 11 min · 2135 words · icarnaghan

JavaScript Arrays - Properties and Methods

We are going to cover some of the most commonly used properties and methods in JavaScript, for working with arrays. There are a lot of other methods which are not covered here, including newer ES6 methods. The goal here is to get you started working with arrays and gaining an understanding of the fundamental ways we can access and manipulate data. The table below summarizes the various methods we will cover in this lesson: ...

January 27, 2019 · 10 min · 2128 words · icarnaghan

JavaScript Arrays - Fundamentals

Earlier we looked at datatypes and variables. Arrays take the concept of a variable or binding one step further and allow us to form groups of values within a data structure, which we can then manage in our code. A good use for an array is a list of data. Arrays not only let you group data, but they offer a range of tools or methods to update and manipulate their contents. They are used commonly across different programming languages and have become a routine way of passing around data within applications. ...

January 26, 2019 · 5 min · 1065 words · icarnaghan

JavaScript Scope

Scope determines what variables or bindings are available to JavaScript within its current context. For example, if a variable is defined outside of any functions within your code (often referred to as the main call stack), these variables are available to all other code embedded within other blocks and functions. Variables defined in main are often referred to as ‘Global Variables’ because they are globally available throughout your application. But what about those variables that are defined within functions? ...

December 24, 2018 · 4 min · 818 words · icarnaghan

JavaScript Call Stack

In earlier lessons, we wrote code without using any functions. Now that you have been introduced to the various ways we can organize our code within function declarations and expressions, it is helpful to step back for a moment to understand the flow of execution within our code. JavaScript uses a call stack to in order to manage this flow, which is essentially a data structure (or to-do list) that keeps track of function calls using a Last In First Out (LIFO) ordering system. Let’s take a look at an example to help explain this concept. ...

December 23, 2018 · 3 min · 601 words · icarnaghan

JavaScript Functions

Functions are repeatable blocks of code. They are fundamental to most programming languages and allow you to build applications with reusable code that can be called with different arguments. The best way to explain functions is through an example. Suppose you wanted a quick way to calculate how much your bill would be with tip (assume for this example the bill amount includes tax). → Try it out Create two files called index.html and script.js and enter the code below into each. Alternatively, if you followed along in the previous lesson, use the existing script.js file and replace its content with code below. ...

December 22, 2018 · 5 min · 897 words · icarnaghan