DEV Community

Cover image for JavaScript Ninja Tricks: Mastering the Art of Shortcuts
Ayush Sharma
Ayush Sharma

Posted on

JavaScript Ninja Tricks: Mastering the Art of Shortcuts

Hey there, fellow JavaScript enthusiasts!

Whether you're a seasoned developer or just starting out, JavaScript is full of hidden gems and clever shortcuts that can make your code more elegant and efficient. In this blog, we'll dive into some of the latest and most useful tricks to level up your JavaScript skills. Let's get started with a few quick tips:

1. Array Destructuring in Function Parameters

Destructuring in JavaScript isn't just for arrays and objects anymore. You can use it directly in function parameters to extract values from arrays passed as arguments:

// Instead of
function foo(arr) {
  const [first, second, third] = arr;
  console.log(first, second, third);
}

// You can write
function foo([first, second, third]) {
  console.log(first, second, third);
}

foo([1, 2, 3]); // Output: 1 2 3

Enter fullscreen mode Exit fullscreen mode

2. Optional Chaining (?.)

Dealing with nested objects and null checks can be cumbersome. Optional chaining allows you to safely access deeply nested properties without causing an error if a property doesn't exist:

const user = {
  id: 1,
  name: 'Alice',
  address: {
    city: 'Wonderland',
    postalCode: '12345'
  }
};

// Instead of
const city = user.address ? user.address.city : 'Unknown';

// You can use
const city = user.address?.city ?? 'Unknown';

console.log(city); // Output: Wonderland

Enter fullscreen mode Exit fullscreen mode

3. Nullish Coalescing Operator (??)

The nullish coalescing operator provides a convenient way to fallback to a default value only when a variable is null or undefined, but not for other falsy values like '' or 0:

const username = null;
const defaultUsername = 'Guest';

// Instead of
const finalUsername = username !== null && username !== undefined ? username : defaultUsername;

// You can write
const finalUsername = username ?? defaultUsername;

console.log(finalUsername); // Output: Guest

Enter fullscreen mode Exit fullscreen mode

4. Template Literals for String Interpolation

Template literals (${}) are great for string interpolation, allowing you to embed expressions directly inside strings:

const name = 'John';
const age = 30;

// Instead of
console.log('My name is ' + name + ' and I am ' + age + ' years old.');

// You can use
console.log(`My name is ${name} and I am ${age} years old.`);

Enter fullscreen mode Exit fullscreen mode

5. Rest Parameter Syntax (...)

The rest parameter syntax (...) allows you to represent an indefinite number of arguments as an array. It's particularly useful for functions that can accept a variable number of arguments:

function sum(...numbers) {
  return numbers.reduce((acc, num) => acc + num, 0);
}

console.log(sum(1, 2, 3, 4)); // Output: 10

Enter fullscreen mode Exit fullscreen mode

Thanks :)

Top comments (0)