Search Atharv Gyan

NEW

Are Decentralized Stablecoins the Future of DeFi?

View on YouTube

View on Spotify

Catch this episode and more on Spotify Stay updated with the latest in tech and climate solutions.

Javascript interview questions and answers with code

To start a series for the JavaScript interview questions which may help junior to mid level developers.

Common JavaScript interview questions with examples.

1. What is let and const in JavaScript?

» Let and const are block-scoped declarations in JavaScript, used to declare variables. let allows you to reassign the value of the variable, while const creates a read-only reference to a value.

Example:

let message = "Hello, World!";

message = "Hello, JavaScript!";

console.log(message); // Output: "Hello, JavaScript!"

const PI = 3.14;

PI = 3.14159; // TypeError: Assignment to constant variable.


2. What is arrow function in JavaScript?

» Arrow functions are a shorthand for anonymous functions in JavaScript. They are also known as “fat arrow” functions.

Example:

let add = (a, b) => a + b;

console.log(add(1, 2)); // Output: 3

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

let doubledNumbers = numbers.map(num => num * 2);

console.log(doubledNumbers); // Output: [2, 4, 6, 8, 10]


3. What is default parameter in JavaScript?

» Default parameters allow function parameters to be initialized with default values if no values are passed or if the values are undefined.

Example:

function greet(name = "Atharv") {

  return `Hello, ${name}`;

}

console.log(greet()); // Output: "Hello, "Atharv

console.log(greet("Atharv")); // Output: "Hello, Atharv"


4. What is spread operator in JavaScript?

» The spread operator allows an iterable to be expanded into its elements.

Example:

let numbers1 = [1, 2, 3];

let numbers2 = [4, 5, 6];

let numbers3 = [...numbers1, ...numbers2];

console.log(numbers3); // Output: [1, 2, 3, 4, 5, 6]

let person = { name: "Atharv", age: 30 };

let newPerson = { ...person, city: "Manipal" };

console.log(newPerson); // Output: { name: "Atharv", age: 30, city: "Manipal" }


5. What is destructuring in JavaScript?

» Destructuring is a convenient way to extract values from arrays or objects into variables.

Example:

let numbers = [1, 2, 3];

let [a, b, c] = numbers;

console.log(a, b, c); // Output: 1 2 3

let person = { name: "Atharv", age: 30 };

let { name, age } = person;

console.log(name, age); // Output: Atharv 30


6. What is a rest parameter in JavaScript?

» A rest parameter is a way to represent an indefinite number of arguments as an array. It allows a function to take a variable number of arguments. The rest parameter is represented by three dots (…).

Example:

function sum(...args) {

  return args.reduce((a, b) => a + b);

}

console.log(sum(1, 2, 3, 4, 5));

// Output: 15


7. What is the difference between var, let, and const in JavaScript?

» Var is function scoped and its value can be changed, while let and const are block scoped and their values cannot be changed once they are assigned with const.

Example:

var name = "Atharv";

var name = "Gyan";

console.log(name); // Output: "Gyan"

let age = 30;

// age = 31;

console.log(age); // Output: 30

const city = "Manipal";

// city = "Manipal";

console.log(city); // Output: "Manipal"


8. What is closure in JavaScript?

» A closure is a function that has access to variables in its outer scope, even after the outer function has returned.

Example:

function outerFunction(counter) {

  return function innerFunction() {

    return ++counter;

  };

}


let counter = 0;

let increment = outerFunction(counter);

console.log(increment()); // Output: 1

console.log(increment()); // Output: 2


9. What is a promise in JavaScript?

» A promise is an object representing the eventual completion or failure of an asynchronous operation.

Example:

let promise = new Promise((resolve, reject) => {

  setTimeout(() => {

    resolve("Hello, World!");

  }, 2000);

});

promise.then(result => {

  console.log(result); // Output: "Hello, World!"

});


10. What is async/await in JavaScript?

» Async/await is a way to write asynchronous code that looks and behaves like synchronous code.

Example:

async function getData() {

  let response = await fetch("https://atharvgyan.com/home");

  let data = await response.json();

  return data;

}

getData().then(data => {

  console.log(data);

});


11. What is a template literal in JavaScript?

» A template literal is a string that is delimited by backticks (`) instead of single or double quotes.

Example:

let name = "Atharv";

let message = `Hello, ${name}`;

console.log(message); // Output: "Hello, Atharv"


12. What is a class in JavaScript?

» A class is a blueprint for creating objects that defines a set of properties and methods.

Example:

class Person {

  constructor(name, age) {

    this.name = name;

    this.age = age;

  }

greet() {

    return `Hello, my name is ${this.name} and I am ${this.age} years old.`;

  }

}

let person = new Person("Atharv", 30);

console.log(person.greet()); // Output: "Hello, my name is Atharv and I am 30 years old."


13. What is a constructor in JavaScript?

» A constructor is a special method that is called when an object is created from a class. It is used to initialize the object’s properties.

Example:

class Person {

  constructor(name, age) {

    this.name = name;

    this.age = age;

  }

greet() {

    return `Hello, my name is ${this.name} and I am ${this.age} years old.`;

  }

}

let person = new Person("John", 30);

console.log(person.greet()); // Output: "Hello, my name is Atharv and I am 30 years old."


14. What is the difference between == and == in JavaScript?

» == Performs type coercion, meaning it converts the operands to the same type before making the comparison, while == does not perform type coercion and  returns false if the operands have different types.

Example:

console.log(1 == "1"); // Output: true

console.log(1 === "1"); // Output: false


15. What is the difference between null and undefined in JavaScript?

» Undefined means a variable has been declared but has not been assigned a value, while null is explicitly set to represent no value.

Example:

let name;

console.log(name === undefined); // Output: true

let city = null;

console.log(city === null); // Output: true


16. What is the difference between let and const when declaring a constant?

» Both let and const can be used to declare a constant, but the value of a const cannot be changed after it is declared, while the value of a let can be changed.

Example:

const PI = 3.14;

// PI = 3.15;

console.log(PI); // Output: 3.14

let name = "Atharv";

name = "Atharv";

console.log(name); // Output: "Atharv"


17. What is a spread operator in JavaScript?

» The spread operator (...) allows an expression to be expanded in places where multiple elements or variables are expected.

Example:

let numbers = [1, 2, 3];

let newNumbers = [...numbers, 4, 5];

console.log(newNumbers); // Output: [1, 2, 3, 4, 5]

let person = { name: "Atharv", age: 30 };

let newPerson = { ...person, city: "Manipal" };

console.log(newPerson); // Output: { name: "Atharv", age: 30, city: "Manipal" }


18. What is a rest parameter in JavaScript?

» A rest parameter is used to represent an indefinite number of arguments as an array. It is prefixed with ... in the function definition.

Example:

function sum(...numbers) {

  return numbers.reduce((total, num) => total + num, 0);

}

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


19. What is a destructuring assignment in JavaScript?

» Destructuring assignment is a way to extract data from arrays or objects into separate variables.

Example:

let person = { name: "Atharv", age: 30, city: "Manipal" };

let { name, age } = person;

console.log(name); // Output: "Atharv"

console.log(age); // Output: 30


let numbers = [1, 2, 3];

let [a, b] = numbers;

console.log(a); // Output: 1

console.log(b); // Output: 2


20. What is a higher-order function in JavaScript?

» A higher-order function is a function that takes one or more functions as arguments or returns a function as a result.

Example:

function multiplyBy(factor) {

  return function (number) {

    return number * factor;

  };

}

let double = multiplyBy(2);

console.log(double(5)); // Output: 10






Like

Share


# Tags
🔍 DevTools is open. Please close it to continue reading.
Atharv Gyan Splash Screen