
Spread Syntax in JavaScript (...)
In a nutshell, JavaScript spread syntax allows you to pass the elements of an iterable (for example an array), through to a function as individual elements.
Articles
ES6 (also known as ECMAScript 2015), was the sixth edition of the ECMAScript specification. It introduced a lot of improvements and new features to the JavaScript language (such as arrow functions, promises, classes, and template literals).
Below you will find a subset of articles from my blog specifically about ES6. This is an area that I have worked with for many years, and have managed to write about quite a few times. There are forty‑two collected together for you below.

...)In a nutshell, JavaScript spread syntax allows you to pass the elements of an iterable (for example an array), through to a function as individual elements.

NaNNaN is an unusual concept in JavaScript, especially for developers newer to the language. As a result, testing for it can be more complex than first expected.

var or let or constCompare var, let, and const in JavaScript, including scope, hoisting, reassignment, block behaviour, ES6 defaults, and when each declaration fits.

Compare React, Vue, and Angular across ecosystem, learning curve, state, templates, team fit, SEO concerns, and how to choose a front‑end framework.

What makes a great JavaScript developer goes well beyond syntax. This article looks at judgement, fundamentals, debugging, and day‑to‑day habits.

Perhaps one of the most‑used but misunderstood features of ES6, destructuring data is easy to use and leads to cleaner, simpler code and happier developers!

Hiring a React developer is about more than matching keywords. This guide looks at fundamentals, judgement, and what good front‑end signals look like.

Compare React functional, class, and pure components, including reusable component design, presentation boundaries, legacy patterns, and when each fits.
Math.random()JavaScript Math.random() explained beyond the basics, including pseudo‑random generation, browser history, ranges, array indexes, and randomness limits.

The JavaScript event loop manages asynchronous tasks in a single‑threaded environment. I explore how it works with the call stack, task queue, and microtasks.

async/awaitUse async and await to simplify asynchronous JavaScript, with promise comparisons, error handling, readable control flow, and common pitfalls in real apps.

JavaScript generators explained for beginners, covering generator function syntax, yield, paused execution, iteration patterns, and where generators still help.

Promises make asynchronous JavaScript easier to reason about. This introduction covers pending, fulfilled, rejected, and how chaining cleans things up.

Rest and spread operators solve different problems in JavaScript. This beginner‑friendly guide shows the syntax, the difference, and common use cases.

Use JavaScript template literals for multi‑line strings, interpolation, cleaner formatting, practical string construction, and pitfalls around whitespace.

Default parameters in JavaScript explored in more depth, including expression defaults, evaluation order, undefined, API design, and subtle edge cases.

Default parameters in JavaScript explained from the ES6 syntax through undefined handling, old workarounds, cleaner calls, everyday use, and function design.

A technical article explaining what arrow functions are in JavaScript, and providing code examples. It includes comparisons against non‑arrow functions.