ECMAScript 2020 New Features

ECMAScript 2020, also known as ES11, introduced several new features to JavaScript. Some of the key features introduced in ECMAScript 2020 include:

  1. BigInt:
    • Allows the representation of arbitrarily large integers.
    • Created by appending n to the end of an integer literal or by calling the BigInt() constructor.
    • Example:

                              
                                  const bigNum = 123456789012345678901234567890n;
                              
                          

  2. Dynamic Import:
    • Enables importing modules dynamically using import().
    • Allows loading modules conditionally or on-demand.
    • Example:

                              
                                  const module = await import('./module.js');
                              
                          

  3. Nullish Coalescing Operator (??):
    • Provides a way to handle default values for null or undefined values.
    • Returns the right-hand side operand when the left-hand side operand is null or undefined.
    • Example:

                              
                                  const value = null ?? 'default';
                              
                          

  4. Optional Chaining (?.):
    • Simplifies accessing properties of nested objects when some properties may be null or undefined.
    • Allows chaining of property accesses without having to check for each level's existence.
    • Example:

                              
                                  const address = user?.address?.city;
                              
                          

  5. globalThis:
    • Provides a standard way of accessing the global object across different environments.
    • Offers a unified way to access the global object regardless of the context (e.g., browser, Node.js).
    • Example:

                              
                                  globalThis.console.log('Hello');
                              
                          

  6. Promise.allSettled():
    • Returns a promise that resolves after all the provided promises have settled (fulfilled or rejected).
    • Provides an array of objects with information about each promise's fulfillment status.
    • Example:

                              
                                  Promise.allSettled([promise1, promise2])
                                  .then(results => console.log(results));                          
                              
                          

These features enhance JavaScript by providing better ways to handle nullish values, manage asynchronous operations, and improve code readability and maintainability.

How To Handle CPU-Bound Tasks with Web Workers

Handling CPU-bound tasks with Web Workers in JavaScript allows you to offload heavy computations from the main thread, preventing it from becoming unresponsive. Here's a step-by-step guide on how to do this: Handling CPU-bound tasks with Web Workers …

read more

How To Deploy a React Application with Nginx on Ubuntu

Deploying a React application with Nginx on Ubuntu involves several steps including installing Nginx, building your React application, configuring Nginx to serve your application, and setting up a domain if necessary. Below are the general steps to a …

read more