Skip to main content

Command Palette

Search for a command to run...

JavaScript concepts for React JS ⚛️

Published
4 min readView as Markdown
JavaScript concepts for React JS ⚛️
R

I'm a pre-final year computer science student at SRM with a strong academic background and technical skills. I am actively contributing to the beginner-friendly open-source repositories to showcase my skills in web development. I love to share my knowledge of technical skills and am a pro at debugging errors.

Introduction

In this blog, we will see the important JavaScript concepts before jumping into ReactJS.

1. Variable declaration

The variables can be declared using var, let and const keywords.

var: Once a variable is declared using the ‘var’ keyword, it can be updated and reassigned in the scope many times.

let: Once a variable is created using the ‘let’ keyword, it can be updated but cannot be redeclared.

const: Once a variable is created with the ‘const’ keyword, it can neither be updated, nor redeclared.

// var example
var x = 10;
console.log(x); // 10
x = 20;
console.log(x); // 20

// let example
let a = 10;
console.log(a); // 10
a = 20; // error

// const example
const PI = 3.14;
console.log(PI);
const z; // error
PI = 3.144; // error

2. Objects

Imagine an object as a box. You can label the box (the key) and put things inside (the value). You can have different labeled compartments (multiple key-value pairs) within the box to organize the contents.

// Simple Object Example
const Person = {
    name: "Rd",
    age: 20,
    city: "Delhi"
};

// Accessing the properties
console.log(Person.name); // Output: Rd
console.log(Person["age"]); // Output: 20
// Object with method
const Person = {
    name: "Rd",
    age: 20,
    city: "Delhi",
    greeting: function(){
        console.log("Hello!");
    }
};

Person.greeting();

3. Arrow Functions

Arrow functions are a concise and a convenient way to write JavaScript functions.

Syntax:

const <function_name> = (arguements) =>{
    function_statements;
    return <return_statement>;
};

There are two ways to write arrow functions:

a. Implicit Return

const greet = (name) => 'Hello, ${name}!';

b. Explicit Return

const multiply = (x, y) => {
  const result = x * y;
  return result;
};

4. Array methods

Map: Creates a new array with the results of calling a provided function on every element in the original array.

const users = [
  { name: "Rd", age: 20 },
  { name: "Rupa", age: 25 },
];

const greetings = users.map((user) => `Hello, ${user.name}!`);

console.log(greetings); 
// ["Hello, Rd!", "Hello, Rupa!"]

Filter: Creates a new array with elements that pass a test implemented by the provided function.

const products = [
  { name: "Rupa", price: 20 },
  { name: "R", price: 15 },
  { name: "Rd", price: 50 },
];

const expensiveProducts = products.filter((product) => product.price > 25);

console.log(expensiveProducts); // Output: [{ name: "Rd", price: 50 }]

Reduce: Applies a function against an accumulator and each element in the array to reduce it to a single value.

const numbers = [1, 2, 3, 4, 5];

const sum = numbers.reduce((a, b) => a + b, 0);

console.log(sum); // Output: 15

5. Promises

In JavaScript, a promise represents the eventual outcome of an asynchronous operation like fetching data from an API or reading a file.

// Syntax
let myPromise = new Promise((myResolve, myReject) => {
    myResolve(); // when successfull
    myReject(); // when error
});

myPromise.then(
    function(value) {
        // when successfull
    },
    function(error){
        // when error
    }
);
// Example
function getUser(userId) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const user = {
        id: userId,
        name: "Alice",
      };
      resolve(user);
    }, 1000);
  });
}

getUser(123)
  .then(user => console.log(user.name)) // Output: "Alice" after 1 second delay
  .catch(error => console.error(error));

6. Async / wait

Async/await allows you to write asynchronous code in a way that resembles synchronous code. It uses the async and await keywords to achieve this.

async - Keyword to declare the function as asynchronous

await - Keyword to pauses the execution until the promise resolves

// Example
async function fetchData(){
    const response = await fetch('https://api');
    const data = await response.json();
    return data;
}

// Function call
fetchData()
    .then(data => console.log(data));
    .catch(error => console.log(error));

Async functions can be used with try...catch to handle potential errors from asynchronous operations like fetching data or performing file operations.

// Example
async function fetchData() {
  try {
    const response = await fetch('https://api.example.com/data');
    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}`);
    }
    const data = await response.json();
    return data;
  } catch (error) {
    console.error("Error fetching data:", error);
  }
}

fetchData()
  .then(data => console.log(data))
  .catch(error => console.error(error));

7. Spread operator

The spread operator can be used to create copies of arrays, concatenate arrays, or merge elements into new arrays.

// Example: Copying arrays
const numbers = [1,2,3];
const copy_numbers = [...numbers];
console.log(copy_numbers); // 1, 2, 3

// Example: Concatenating Arrays
const fruits = ["apple", "banana"];
const veggies = ["carrot", "broccoli"];
const produce = [...fruits, ...veggies];
console.log(produce); 
// ["apple", "banana", "carrot", "broccoli"]

// Example: Merging into a new array
const colors = ["red", "green"];
const moreColors = ["blue", "yellow"];
const allColors = [...colors, "purple", ...moreColors];
// ["red", "green", "purple", "blue", "yellow"]

The spread operator can also be used for objects and strings.

Conclusion

These are the seven main important JavaScript concepts to know before learning ReactJS.