The Document Object Model (DOM): A Guide for Developers

The Document Object Model (DOM) is a representation of an HTML document in nodes and objects. It is the browser’s internal structure that allows developers to interact with and manipulate the web page. Modern JavaScript frameworks heavily rely on the DOM API to control the elements displayed on the page. When a browser retrieves an HTML document from a server, it analyzes the structure of the code and creates a model of it known as the DOM....

The Downsides of Freelancing: Why it's Not a Long-Term Strategy

Note: This blog post reflects my personal opinion about freelancing and is not a critique of freelancing in general. It focuses on the drawbacks I have observed from my own experience and why I believe freelancing is better suited for starting an independent lifestyle rather than as a long-term career strategy. Having worked as a freelancer and contractor for ten years from 2008 to 2018, I’ve come to understand the nuances that differentiate the two terms....

The ES2017 Guide: Discovering the Features of ECMAScript 2017 (ES8)

ECMAScript (ES) serves as the basis for JavaScript, and the latest version, ECMAScript 2017 (also known as ES8), was finalized in June 2017. Although ES8 is a relatively small release compared to ES6, it introduces several useful features. In this guide, we will explore the new additions in ES2017 and learn how they can enhance your JavaScript development. String Padding The string padding feature allows you to add characters to a string until it reaches a specific length....

The ES2018 Guide: Features and Upgrades Explained

ECMAScript, often abbreviated as ES, serves as the standard on which JavaScript is based. The latest version of this standard is ES2018, also known as ES9. In this guide, we will explore the new features and upgrades introduced in ES2018. Rest/Spread Properties ES6 introduced the concept of the rest element for array destructuring and spread elements for spreading array elements. ES2018 extends this concept to objects. Rest properties allow you to extract and assign the remaining properties of an object to a new object:...

The ES2019 Guide: Everything You Need to Know about ECMAScript and its Latest Features

ECMAScript (ES) is the standard that JavaScript is built upon. The most recent version of ES is ES2018, which was released in June 2018. Now, with the anticipation of ES2019, let’s dive into the features that will be added in the upcoming release. Introducing ESNext and ES2019 ESNext refers to the next version of JavaScript, which is currently ES2019. The development of JavaScript editions is usually standardized during the summer, so we can expect ES2019 to be released this summer....

The ES6 Guide: Everything You Need to Know about ECMAScript 2015

ECMAScript, often abbreviated as ES, is the standard that JavaScript is based on. ES6, also known as ES2015, introduced many new features and enhancements to the language. In this guide, we will explore the most important additions made in ES6. Table of Contents Arrow Functions A new this scope Promises Generators let and const Classes Constructor Super Getters and setters Modules Importing modules Exporting modules Template Literals Default parameters The spread operator Destructuring assignments Enhanced Object Literals Simpler syntax to include variables Prototype super() Dynamic properties For-of loop Map and Set New String methods New Object methods Introduction ECMAScript 2015, also known as ES6, is a major version of the ECMAScript standard....

The Evolution of JavaScript in the Last Decade

Looking back at the last decade of JavaScript and the evolution of the web, it has been a truly remarkable journey. In 2010, JavaScript wasn’t as widely used as it is today. While I had JavaScript books from as early as 1998 in my library, I mainly used it in the form of Mootools and jQuery plugins. Although I wrote some glue code in JavaScript, it wasn’t anything groundbreaking. Back then, JavaScript was not considered a hot language, except for projects like GMail and Google Maps that required advanced work and large budgets....

The Fetch API: A Modern Approach to Asynchronous Network Requests

The Fetch API is a modern approach to making asynchronous network requests in the browser. It offers a more streamlined and intuitive way to handle AJAX calls compared to the older XMLHttpRequest (XHR) approach. In this article, we will explore the basics of using the Fetch API and the features it provides. Introduction to the Fetch API Introduced as a standardized replacement for XHR, the Fetch API uses Promises as a building block for asynchronous network requests....

The File Object

Learn about the File object and how to utilize it Browsers provide us with a File object. The File object is a Blob object and has 3 properties: name (a String) lastModified (the UNIX timestamp of the last modified date time) These properties are in addition to the Blob object properties: size (the size in bytes) type (the MIME type) You will receive a File object when interacting with the FileList object, which can be obtained from an HTML form using an <input type="file" /> element or when working with Drag and Drop....

The FileList Object: An Overview and Usage Guide

Learn about the FileList object and how to effectively utilize it for file uploads. When working with an HTML form that includes an <input type="file" /> element, you will interact with a FileList object when the user uploads one or more files. However, it’s worth noting that the FileList object is not limited to form submissions only. It is also generated when using drag and drop functionality. By default, when using the file input type, the user can only select and upload a single file....