Javascript Questions
Warm up for Javascript interview with most asked questions and answers for junior, mid, and senior roles.
What is NaN property in JavaScript?
Show AnswerHide Answer
NaN property is a property of the global object that is used to represent the Not-a-Number value.
What is the use of a Number object in JavaScript?
Show AnswerHide Answer
Number object is used to perform number operations.
What is the use of a Boolean object in JavaScript?
Show AnswerHide Answer
Boolean object is used to perform boolean operations.
What are the falsy values in JavaScript?
Show AnswerHide Answer
Falsy values are:
- 0
- ''
- null
- undefined
- NaN
- false
What are JavaScript Data Types?
Show AnswerHide Answer
JavaScript data types are the types of values that JavaScript can store.
There are seven data types in JavaScript:
- Number
- String
- Boolean
- Undefined
- Null
- Symbol
- Object
What is the use of the Push method in JavaScript?
Show AnswerHide Answer
The push method is used to add an element to the end of an array.
What is the use of window object?
Show AnswerHide Answer
The window
object is a global object that has the properties pertaining to the current DOM document
The document
property of the window
object has the DOM document and associated nodes and methods that we can use to manipulate the DOM nodes and listen to events for each node.
The window
object is global, so it’s available in every part of the application.
What is JavaScript?
Show AnswerHide Answer
JavaScript is a programming language that allows you to write applications that can run on the client side or server side
What's the difference between null and undefined?
Show AnswerHide Answer
Undefined is a value that JavaScript assigns to variables that have not been assigned a value.
Null is a value that JavaScript assigns to variables that have been assigned a value but that value is null.
What is === operator?
Show AnswerHide Answer
The === operator is used to compare two values and types. It returns true if both values and types are equal, and false if they are not equal.
What are all the looping structures in JavaScript?
Show AnswerHide Answer
There are three looping structures in JavaScript:
- For Loop
- While Loop
- Do While Loop
What is break and continue statements?
Show AnswerHide Answer
Break and continue statements are used to exit a loop or switch statement.
Break is used to exit a loop
Continue is used to skip the current iteration and continue to the next iteration.
What boolean operators can be used in JavaScript?
Show AnswerHide Answer
There are three boolean operators in JavaScript:
- &&
- ||
- !
Explain passed by value and passed by reference.
Show AnswerHide Answer
In Pass by value, function is called by directly passing the value of the variable as an argument. So any changes made inside the function does not affect the original value.
In Pass by Reference, Function is called by directly passing the reference/address of the variable as an argument. So changing the value inside the function also change the original value. In JavaScript array and Object follows pass by reference property.
What are object prototypes?
Show AnswerHide Answer
The prototype is an object that is associated with every functions and objects by default in JavaScript, where function's prototype property is accessible and modifiable and object's prototype property is not visible
What are callbacks?
Show AnswerHide Answer
A callback is a function passed into another function as an argument, which is then invoked inside the outer function to complete some kind of routine or action.
What is the use of a constructor function in javascript?
Show AnswerHide Answer
A constructor is a special function that creates and initializes an object instance of a class. The purpose of a constructor is to create a new object and set values for any existing object properties.
What is DOM?
Show AnswerHide Answer
The Document Object Model (DOM) is an API for HTML and XML documents. It is the programming interface for the HTML and XML documents.
What are arrow functions?
Show AnswerHide Answer
Arrow functions are a new syntactic construct in JavaScript. They are a shorter way to write function expressions.
What is "this" keyword in JavaScript?
Show AnswerHide Answer
The ‘this’ keyword refers to the object that is currently executing the code. It is used to access properties and methods of an object.
What is the use of a Set object in JavaScript?
Show AnswerHide Answer
Set object is used to perform set operations.
What is the difference between strict mode and non-strict mode?
Show AnswerHide Answer
Variables are moved to the top of their scope before code execution
Name some built-in methods in JavaScript.
Show AnswerHide Answer
- Date;
- Math;
- String;
- Array.
Explain Higher Order Functions in javascript.
Show AnswerHide Answer
Higher Order Functions are functions that take other functions as arguments or return other functions.
What is the Strict Mode in JavaScript?
Show AnswerHide Answer
The strict mode is a way to make JavaScript more strict. It is used to prevent some common mistakes that can lead to JavaScript errors.
Explain Implicit Type Coercion in javascript.
Show AnswerHide Answer
Implicit type coercion is a process in which a variable is automatically converted to a different type when it is assigned a value.
Is javascript a statically typed or a dynamically typed language?
Show AnswerHide Answer
JavaScript is a dynamically typed language.
How to handle exceptions in JavaScript?
Show AnswerHide Answer
You can use try/catch blocks to handle exceptions
The try statement allows you to define a block of code to be tested for errors while it is being executed.
The catch statement allows you to define a block of code to be executed if an error occurs in the try block.
Differences between declaring variables using var, let and const.
Show AnswerHide Answer
var
It's hoisted (always declared at top of the scope, global if none) and has function scope.
let
It has a block scope and is not redeclarable.
const
It has block scope, it's not reassignable and it's not redeclarable.
What is memoization?
Show AnswerHide Answer
Memoization is an optimization technique used primarily to speed up programs that make repeated calculations.
What is recursion in a programming language?
Show AnswerHide Answer
Recursion is a technique in which a function calls itself. It is used to solve problems that can be solved by breaking down the problem into simpler sub-problems.
What is the unshift method in JavaScript?
Show AnswerHide Answer
The unshift method is used to add an element to the beginning of an array.
Explain Scope and Scope Chain in javascript.
Show AnswerHide Answer
Scope is the visibility of variables and functions.
Scope chain is the order in which the variables and functions are searched for a variable or function.
What is the rest parameter and spread operator?
Show AnswerHide Answer
- Rest Parameter collects all remaining elements of an array or object into an array.
- Spread Operator expands collected elements such as arrays or objects into single elements.
- The spread syntax only does a shallow copy one level deep.
- Only the last parameter can be a rest parameter.
What is Promises in javascript?
Show AnswerHide Answer
A Promise represents something that is eventually fulfilled. A Promise can be rejected, resolved or pending based on the operation outcome.
What is Object Destructuring?
Show AnswerHide Answer
Object destructuring is a JavaScript feature that allows you to extract data from objects into distinct variables.
List some features of JavaScript.
Show AnswerHide Answer
- Light Weight Scripting language
- Dynamic Typing
- Object-oriented programming support
- Functional Style
- Platform Independent
- Prototype-based
- Interpreted Language
- Async Processing
- Big Community
- Client-Side Validation
List some of the disadvantages of JavaScript.
Show AnswerHide Answer
- Client-Side Security - Since JavaScript code is executed on the client-side, bugs and oversights can sometimes be exploited for malicious purposes. Because of this, some people choose to disable JavaScript entirely.
- Browser Support - While server-side scripts always produce the same output, different browsers sometimes interpret JavaScript code differently. These days the differences are minimal, and you shouldn't have to worry about it as long as you test your script in all major browsers.
What is the use of Math object in JavaScript?
Show AnswerHide Answer
Math object is used to perform mathematical operations.
What is the use of a Date object in JavaScript?
Show AnswerHide Answer
Date object is used to perform date operations.
Explain Hoisting in javascript.
Show AnswerHide Answer
Hoisting is a JavaScript mechanism where variables and function declarations are moved to the top of their scope before code execution
Functions are fully hoisted, but varibles are semi-hoisted.
Explain WeakSet in javascript.
Show AnswerHide Answer
WeakSet is a collection of objects that are stored using a weak reference. This means that the objects in the set are not directly accessible from outside the set.
What are Closures?
Show AnswerHide Answer
A closure is a stateful function that is returned by another function.
It has access to the parent scope, even after the parent function has closed.
Explain call(), apply() and, bind() methods.
Show AnswerHide Answer
The call() invokes the function and allows you to pass in arguments one by one.
The apply() invokes the function and allows you to pass in arguments as an array.
The bind() method creates a new function that, when called, has this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called.
What is typeof operator?
Show AnswerHide Answer
Typeof operator is used to check the type of a variable.
Explain the difference between function declaration and function expression?
Show AnswerHide Answer
Function declarations
- like vars, they will be automatically hoisted
- load before any other code
Function expressions
- not hoisted
- only loads when the interpreter reaches it
What are generator functions?
Show AnswerHide Answer
Generator functions are functions that can be paused and resumed at any point. They are used to create iterators.
What is an Immediately Invoked Function in JavaScript?
Show AnswerHide Answer
An Immediately Invoked Function is a function that is automatically invoked when it is defined.
Explain WeakMap in javascript.
Show AnswerHide Answer
WeakMap is a collection of key-value pairs where the keys are stored using a weak reference. This means that the keys are not directly accessible from outside the map.
What is the use of a Map object in JavaScript?
Show AnswerHide Answer
Map object is used to perform map operations.
What is the purpose of setTimeout and setInterval function?
Show AnswerHide Answer
setTimeout and setInterval functions are used to perform asynchronous operations.