I'm new to JavaScript after learning some C, and I'm feeling overwhelmed by how many different syntax options the language has. I recently encountered destructuring, for example:
const person = { name: "Bob", age: 25, job: "Designer", city: "New York" };
const { job, city, ...remainingProperties } = person;
console.log(remainingProperties); // { name: "Bob", age: 25 }
Are destructuring assignments commonly used for objects and arrays? Can I choose not to use them, or should I start practicing them now? Are they mainly an alternative, concise syntax, or are there situations where they are effectively required? At the moment, assigning each variable explicitly feels easier to read because I can see exactly where every value comes from.
I have a similar reaction to arrow functions. I understand that they can be shorter than regular functions, but I'm more comfortable with traditional function syntax. Is it normal for these features to feel confusing at first, and will they become easier with practice?
3 Answers
Yes, this is completely normal when learning a new language. You don’t have to use destructuring immediately, but you should learn to recognize it because you’ll encounter it frequently in other people’s code. Whether it improves readability depends on the reader and the situation. If explicit assignments are clearer to you right now, use those while you build familiarity.
Destructuring is common because it can make certain operations much less repetitive. For example, `const [value, setValue] = useState()` gives meaningful names to two elements of an array without separate index lookups. It’s still just a convenience, though—not something you must use everywhere. Learn what it means first, then start using it when it genuinely makes the code clearer.
So it’s reasonable to keep using the longer form until I run into cases where destructuring clearly helps?
Don’t try to memorize every feature before building anything. JavaScript has accumulated many features over time, and experienced developers still look up syntax. Practice with small projects and learn each feature when it solves a problem you actually have. Over time, destructuring and arrow functions will stop looking like special syntax and start reading as familiar patterns.

That’s reassuring. I didn’t feel this overwhelmed learning C, but I guess I’ll gradually recognize the common patterns as I practice more.