What the heck is hoisting?

This is a topic that I have been avoiding (mainly because I don’t feel like I understand it enough).  I figure that we have to tackle the idea eventually, though.  Hoisting is a JavaScript mechanism where variable and function declarations are moved (or hoisted) to the top of the scope before the code is executed. …

Continue reading "What the heck is hoisting?"

JavaScript Classes

Last week, we looked at arrow functions.  This week, I figured that we would look at Classes.  Support for classes was another thing added to JavaScript with ES6. See the Pen JavaScript Classes by Joe Steinbring (@steinbring) on CodePen. In the above example, there is a Person class and a Person2 class.  The difference between …

Continue reading "JavaScript Classes"

JavaScript Arrow Functions

ECMAScript 6 introduced some interesting new stuff.  We have already covered let and const, previously.  I figured that it is time to cover arrow functions, now. See the Pen Arrow Functions – Part 1 by Joe Steinbring (@steinbring) on CodePen. As you can see in the above example, at the very least, this new syntax …

Continue reading "JavaScript Arrow Functions"

Prototype.call() vs Prototype.apply()

This is going to be a relatively short post.  We have been doing a lot of [x] vs [y] vs [z] posts lately and this one is no different.  Today, I figured that we would look at Prototype.call() vs Prototype.apply().  Both apply() and call() are used to invoke functions.  The difference is that call uses …

Continue reading "Prototype.call() vs Prototype.apply()"

Playing with the OpenWeather API: The basics

Ever since Apple bought and shut down Dark Sky, I have been struggling to figure out what to replace it with.  I figured that this would be a good excuse to play with some weather APIs.  I have done this once before but that was with Rivets and YQL (neither of which I can necessarily …

Continue reading "Playing with the OpenWeather API: The basics"

Object.seal() vs Object.freeze()

So, you want to protect an object that you created in JavaScript?  With Object.seal() and Object.freeze(), you have two solid options that do slightly different things.  While Object.seal() prevents new properties from being added to the object and marks all existing properties as non-configurable, it still lets you change the values of properties.  Object.freeze() on …

Continue reading "Object.seal() vs Object.freeze()"

Var vs let vs const in JavaScript

The next post in our X vs Y vs Z series is var vs let vs const.  I’ve wanted to cover this for a little while.  Let and const were added to JavaScript with ECMAScript 6.  Var has been around a bit longer. Var is used to declare a function-scoped or globally-scoped variable.  Var declarations …

Continue reading "Var vs let vs const in JavaScript"

Cookies vs localStorage vs sessionStorage in JavaScript

Back in 2012, I posted How to store JavaScript values persistently, locally (a post that is apparently a bit broken).  I figured that it might be time to revisit the topic. Let’s start by looking at how to create and read cookies, first. See the Pen How to use cookies! by Joe Steinbring (@steinbring) on …

Continue reading "Cookies vs localStorage vs sessionStorage in JavaScript"