- Destructuring Assignment:
Use destructuring assignment to extract values from arrays or properties from objects in a concise way.
javascriptCopy code// Array Destructuring
const [a, b] = [1, 2];
console.log(a); // Output: 1
console.log(b); // Output: 2
// Object Destructuring
const { name, age } = { name: 'John', age: 30 };
console.log(name); // Output: 'John'
console.log(age); // Output: 30
- Spread Syntax:
Use the spread syntax (...
) to clone arrays, concatenate arrays, or spread elements of an array or object.
javascriptCopy code// Clone an array
const originalArray = [1, 2, 3];
const clonedArray = [...originalArray];
// Concatenate arrays
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const combinedArray = [...array1, ...array2];
console.log(combinedArray); // Output: [1, 2, 3, 4, 5, 6]
// Spread elements of an array or object
const array = [1, 2, 3];
console.log(...array); // Output: 1 2 3
- Arrow Functions:
Utilize arrow functions (() => {}
) for concise function syntax, lexical scoping ofthis
, and implicit return of single expressions.
javascriptCopy code// Basic arrow function
const multiply = (a, b) => a * b;
// Lexical scoping of 'this'
const person = {
name: 'John',
greet: function () {
setTimeout(() => {
console.log(`Hello, ${this.name}!`);
}, 1000);
},
};
person.greet(); // Output: Hello, John!
// Implicit return of single expression
const double = (num) => num * 2;
- Template Literals:
Use template literals (backticks ``) for easy string interpolation and multi-line strings.
javascriptCopy codeconst name = 'John';
const age = 30;
console.log(`My name is ${name} and I am ${age} years old.`);
// Output: My name is John and I am 30 years old.
// Multi-line strings
const message = `
Hello,
This is a multi-line
string example.
`;
- Default Parameters:
Define default parameter values for function arguments to handle cases when arguments are not provided.
javascriptCopy codefunction greet(name = 'Anonymous') {
console.log(`Hello, ${name}!`);
}
greet(); // Output: Hello, Anonymous!
greet('John'); // Output: Hello, John!
- Object Shorthand:
Take advantage of object shorthand notation to create objects with concise syntax.
javascriptCopy codeconst name = 'John';
const age = 30;
// Shorthand notation
const person = { name, age };
console.log(person); // Output: { name: 'John', age: 30 }
- Promises and Async/Await:
Use Promises or async/await syntax for handling asynchronous operations in a more readable and manageable way.
javascriptCopy code// Promises
function fetchData() {
return new Promise((resolve, reject) => {
// Asynchronous operation
setTimeout(() => {
const data = 'Data fetched successfully';
resolve(data);
}, 2000);
});
}
fetchData()
.then((result) => console.log(result))
.catch((error) => console.log(error));
// Async/Await
async function fetchDataAsync() {
try {
const result = await fetchData();
console.log(result);
} catch (error) {
console.log(error);
}
}
fetchDataAsync();
- Array Methods:
Familiarize yourself with useful array methods likemap()
,filter()
,reduce()
,find()
,some()
,every()
, etc., to simplify common array operations.
javascriptCopy codeconst numbers = [1, 2, 3, 4, 5];
// Map
const doubledNumbers = numbers.map((num) => num * 2);
console.log(doubledNumbers); // Output: [2, 4, 6, 8, 10]
// Filter
const evenNumbers = numbers.filter((num) => num % 2 === 0);
console.log(evenNumbers); // Output: [2, 4]
// Reduce
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // Output: 15
// Find
const foundNumber = numbers.find((num) => num === 3);
console.log(foundNumber); // Output: 3
// Some
const hasEvenNumber = numbers.some((num) => num % 2 === 0);
console.log(hasEvenNumber); // Output: true
// Every
const allPositive = numbers.every((num) => num > 0);
console.log(allPositive); // Output: true
- Optional Chaining:
Use the optional chaining operator (?.
) to access nested properties and avoid errors when intermediate properties are nullish or undefined.
javascriptCopy codeconst person = {
name: 'John',
address: {
city: 'New York',
},
};
console.log(person.address?.city); // Output: 'New York'
console.log(person.address?.country); // Output: undefined
Nullish Coalescing Operator:
Use the nullish coalescing operator (
??
) to provide a default value when a variable is null or undefined.
javascriptCopy codeconst name = '';
const displayName = name ?? 'Anonymous';
console.log(displayName); // Output: 'Anonymous'
I hope this information proves helpful to someone.