Powered by Thakur Technologies

    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

    Powered by Thakur Technologies