Matt Smith is a Maine-based application developer who builds solutions to deliver engaging user experiences.| allthingssmitty.com
Logical assignment operators (||=, &&=, ??=) streamline conditional assignments in JavaScript, making your code cleaner, safer, and easier to read, especially in modern front-end workflows.| allthingssmitty.com
JavaScript's 'Array.fromAsync()' offers a concise alternative to 'for await...of' when working with async iterables and streams.| allthingssmitty.com
Say goodbye to manual fallbacks! Explore how JavaScript default parameters make your functions more robust, readable, and bug-free.| allthingssmitty.com
Writing asynchronous code in JavaScript used to come with a limitation: the await keyword could only be used inside an async function. That changed when ES2022 introduced top-level await: a modern ES module feature that enables new patterns for asynchronous code at the module level.| Matt Smith
Avoid runtime errors and write cleaner JavaScript with optional chaining, a powerful way for safely accessing deeply nested properties.| allthingssmitty.com
Learn how JavaScript's at() method simplifies array and string indexing with cleaner syntax, negative indexing, and broad browser support.| allthingssmitty.com
Learn how the spread and rest syntax in JavaScript can power up the front-end, from array handling to React state updates, with tips every developer should know.| allthingssmitty.com
Learn the key differences between map() and forEach() methods in JavaScript, when to use each, and why map() is often the better choice for transforming data and writing cleaner, more functional code.| allthingssmitty.com
One important piece of JavaScript syntax that I’ve enjoyed using is the nullish coalescing (??) operator. The ?? operator handles default values more effectively compared with the traditional approach using the logical OR (||) operator. It’s a 100% must-have tip.| Matt Smith
Learn why using 'unknown' instead of 'any' in TypeScript leads to safer, more maintainable code. Discover best practices, benefits, and examples for improved type safety and error handling in TypeScript.| allthingssmitty.com
WebKit handles 100vh in a way that differs from other browsers, which can complicate some layouts. But using -webkit-fill-available might be a good enough alternative to get by.| allthingssmitty.com
Sometimes you need JavaScript to target specific selectors in the DOM. The closest() method can help you do just that.| allthingssmitty.com
Phone number links are a great feature but styling them to not show on larger screens can be an accessibility concern and detected by screen readers. Here's a useful tip on making the links both functional and accessible.| allthingssmitty.com
Front-end development has many skills associated with it, and it's been my experience that the role is often misunderstood. The front-end is tough to describe, but here's a brief nod of recognition to just some of what developers do.| allthingssmitty.com
Browsers have built-in CSS for native styling. Using a CSS reset helps you enforce consistent styling. Here's a 3-line snippet that may do just enough of what you need.| allthingssmitty.com
It's not necessary to add line height to each separate textual element. Here's a helpful tip for elements to inherit line height from the body.| allthingssmitty.com
Not every method in JavaScript's Date object returns a zero-based number. Here's a tip will help you understand that a little better.| allthingssmitty.com
There are many different solutions for responsive images, but video is a media element that's often ignored in fluid layouts. Let's change that by looking at how we can keep video responsive across viewports.| allthingssmitty.com
There are a few different ways to manage responsive type on the web. My personal approach is to use the :root selector for maximum flexibility.| allthingssmitty.com
If a hyperlink doesn't have a text value, use CSS attribute selectors to insert the href value in its place.| allthingssmitty.com
If you're new to math methods in JavaScript here are a few words about Math.floor and Math.random and a fun way to use them to build a custom text generator.| allthingssmitty.com
Allowing users to view the password they've entered helps avoid frustration and improve engagement. This is a quick JavaScript example.| allthingssmitty.com
Here's an effect that you may have seen but not realized that can be done with some straightforward CSS.| allthingssmitty.com
Data tables on the web are used to communicate important information to a user. Yet so many of these aren't mobile-optimized. Here's one easy way to do just that.| allthingssmitty.com
Accessibility is a key piece to building the web, but for some reason using labels is considered unattractive. However, there's a design-friendly way to make accessible labels.| allthingssmitty.com
Icon fonts are a very popular visual web asset today. Unlike JavaScript libraries there's no straightforward way to detect if an icon fonts library has loaded. Here's a clever way to do just that.| allthingssmitty.com
A few thoughts about confronting self-doubt.| allthingssmitty.com
When setting line-height in CSS, a common mistake is to pass a specific unit for the value. Here's why we should be following the preferred approach and set line-height to a unitless value.| allthingssmitty.com