Aliases with JavaScript Destructuring
Destructuring in JavaScript has totally changed the way JavaScript is written these days; code is more concise to write but but, from a visual standpoint, the syntax of the language has changed so much. Any good developer knows, however, that change is the constant we live in.
The basic idea behind destructuring in object literals is as follows:
const obj = { x: 1 };
// Grabs obj.x as { x }
const { x } = obj;
There are cases where you want the destructured variable to have a different name than the property name; in that case, you'll use a : newName
to specify a name for the variable:
// Grabs obj.x as as { otherName }
const { x: otherName } = obj;
The syntax for specifying an alternate destructured name for an object property is simple and needed. Destructuring had the capability to confuse developers, especially array destructuring and function argument destructuring, but this alias syntax is a simple trick to keep in your locker!
![LightFace: Facebook Lightbox for MooTools]()
One of the web components I've always loved has been Facebook's modal dialog. This "lightbox" isn't like others: no dark overlay, no obnoxious animating to size, and it doesn't try to do "too much." With Facebook's dialog in mind, I've created LightFace: a Facebook lightbox...
![Serving Fonts from CDN]()
For maximum performance, we all know we must put our assets on CDN (another domain). Along with those assets are custom web fonts. Unfortunately custom web fonts via CDN (or any cross-domain font request) don't work in Firefox or Internet Explorer (correctly so, by spec) though...
![Chris Coyier’s Favorite CodePen Demos II]()
Hey everyone! Before we get started, I just want to say it's damn hard to pick this few favorites on CodePen. Not because, as a co-founder of CodePen, I feel like a dad picking which kid he likes best (RUDE). But because there is just so...
![MooTools Typewriter Effect Plugin Upgrade]()
Last week I shared my MooTools Typewriter Class with you. It was pretty well received and I got a few feature requests that I've implemented including "backspacing" and character variance delays. I'm not going to explain the old code, so click here...
Always have to check your site first to see any updates. Love it david. That’s where good developers stand out. Always adapting to new changes. Just trying to get hang of destructing as i’m not the smartest one in the room.
Hello. I’m using an alias for my destructed object property. How can I handle the property when it’s undefined?
Thanks.
I was looking for something like this. I wonder why the proposal for this feature didn’t follow the syntax of import statements.
Example:
this is the typescript syntax
I don’t know why people call it an “alias”. If it were an alias, changing the variable would change the object property. E.g.
I think the only time you can have an alias in JavaScript is with reference types.
When destructuring we use the word “alias” to refer to a differently named variable with the same value, rather than a different name that should reference the same variable.