-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Gilbert Andanje edited this page Jan 23, 2024
·
21 revisions
This checklist should provide a comprehensive overview of JavaScript features and techniques commonly used in backend development with Node.js.
- Understand and use object and array destructuring.
- Learn how to use the spread syntax for arrays and objects.
- Master the use of map for transforming arrays.
['engineer', 'doctor', 'teacher'].map((career) => {
// do something
return career;
})
// this code iterates over the careers list one at a time- Understand filter for creating subsets of arrays.
['engineer', 'doctor', 'teacher'].filter((career) => career.startsWith('tea'))
/** this code @returns ['teacher'] */ - Learn to use reduce for aggregating data in arrays.
['engineer', 'doctor', 'teacher'].reduce((accumulator,career,idx,careers)=>{
//accumulator can be [],{} or any type. In this case its an empty list then we add items to it
console.log(`new_value_so_far: ${accumulator}`)
console.log(`current_career: ${current_career}`)
console.log(`current_index: ${idx}`)
console.log(`original_array: ${careers}`)
accumulator.push({idx:career})
/** @returns {[Object]} --> [{0:'engineer'},{1:'doctor'},{2:'teacher'}] */
},[])- Be familiar with forEach for iterating through arrays.
['engineer', 'doctor', 'teacher'].forEach((career)=>{
console.log(career)
})- Use find and findIndex for searching in arrays.
['engineer', 'doctor', 'teacher'].findIndex((career)=>career==='doctor')
/** @returns {Number} idx where career === doctor otherwise -1 */- Explore and use common string methods like split, slice, indexOf, substr, etc.
- Understand and use nullish coalescing (??) for handling null or undefined values.
- Utilize optional chaining (?.) for concise handling of nested properties.
- Master the use of arrow functions for concise and clear code.
- Learn how to work with Promises for handling asynchronous operations.
- Understand the basics of async/await for more readable asynchronous code.
- Understand closures and their applications, especially in asynchronous programming.
- Use ES6 module syntax for organizing code.
- Be aware of the import and export statements.
- Utilize try-catch blocks for effective error handling.
- Understand prototypal inheritance in JavaScript.
- Use the class syntax for creating constructor functions.
- Embrace functional programming principles.
- Learn to use higher-order functions.
- Understand and use event emitters for handling events in Node.js.
- Learn to implement WebSockets for real-time communication.
- Understand the concept of middleware and how it's used in frameworks like Express.
- Be familiar with template engines like EJS or Handlebars.
- Learn and use regular expressions for pattern matching.
- Understand techniques for controlling asynchronous flow, such as using Promise.all and Promise.race.
- Learn to write unit tests and integration tests.
- Implement logging mechanisms for better debugging.
- Understand the use of environment variables for configuration.
- Be aware of common security vulnerabilities and best practices.
- Explore GraphQL for efficient API development.
- Implement data validation for user inputs.
- Understand how to use and create custom scripts in package.json.
- Explore and use functional programming methods like filter, map, and reduce on arrays.
- Be aware of browser compatibility when working with JavaScript features.
- Use ESLint for code linting and adhere to coding standards.