JavaScript Interview Questions and Answers
JavaScript is a high-level programming language that is known for its dynamic, prototype-based and weakly typed characteristics. It conforms to the ECMAScript specification and is one of the core technologies of the World Wide Web. Initially only implemented client-side, JavaScript is now embedded in other types of software, including server-side in web servers and non-web programs such as PDF software and word processors. This information is often asked in JavaScript interview questions.
JS Interview Questions
With JavaScript, the user can declare variables with three keywords, which are let, var, and const. The terms var let and const are somewhat confusing. We will explain all 3 variables with the help of examples.
The difference between the variables var, let as well as const is described below in different ways.
- Scope
- Hoisting
- Reassign the value
- Redeclaration of the variable
NOTE: If you want to read more about the difference between var, let as well as const then you can visit here.
1. Using includes()
const fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(fruits.includes("Mango"));
2. Using indexof()
const fruits = ["Banana", "Orange", "Apple", "Mango"];
if(fruits.indexOf("Orange") !== -1) {
alert("Yes, the value exists!")
} else {
alert("No, the value is absent.")
}
The main differences between arrow function and normal function are based on some parameters like.
- Syntax
- Arguments that are binding.
- "this" keyword is used to describe the use.
- Utilizing a keyword that is new.
- No duplicates of identified parameters.
Syntax of normal functions
// Function declaration
function printHello(name) {
return `Hey ${name}`;
}
NOTE: If you want to read more about Regular vs Arrow functions then you can visit here.
// Function expression
const printHello = function(name) {
return `Hey ${name}`;
}
Syntax of arrow functions
const printHello = (name) => `Hey ${name}`;
var variable1 = ["red", "green", "blue", "yellow"];
var variable2 = null;
console.log('This is a type of - ', typeof(variable1));
console.log('This is a type of - ', typeof(variable2));
This is a type of - object
This is a type of - object
In JavaScript data types is an important concept that helps to operate on variables,JavaScript supports mainly two different kinds of data types-
- Primitives
- Objects
1. Primitives Data Type
It supports six data types that’s are given below.
- Boolean: It represents only true or false based on condition.
- Number: It can be written with or without decimals. Example
var num1 = 32;
- String: It is used to store texts and inside of either double or single quotes. Example
var str_one = 'Best Interview Question';
- Null: It is "nothing" but supposed to be something that does not exist.
- Undefined: It has no value but variable is exists. Example
var MyVariable_1;
console.log(MyVariable_1); // undefined - Symbol: It is new in ES6. It is an immutable data type that have unique value.Example :
const BestInterviewQuestion = Symbol(‘BestInterviewQuestion’);
2. Objects Data Type
It is a type of not primitive data Type. It is a collection of properties and these properties are stored in key and value pairs.
There are various ways of creating an Object in JavaScript.
- With the Object():
Example :var name = new Object();
- With Object.create():
Example :var name = Object.create(null);
- With the bracket syntactig sugar:
Example :var name = {};
- With a function constructor:
Example :
var ObjectName = function(Vname) {
this. Vname = Vname
}
var NewVar = new ObjectName("BestInterviewQuestion.com"); - With function constructor + prototype:
Example :
function myObj(){};
myObj.prototype.name = "bestinterviewquestion.com";
var Newk = new myObj(); - With ES6 class:
Example :
class myObject {
constructor(name) {
this.name = name;
}
}
var e = new myObject("bestinterviewquestion.com");
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const bigNumbers = numbers.map(number => {
return number * 2;
});
console.log(bigNumbers);
[ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 ]
JavaScript is a client-side language it gets executed at the user side. Whenever we browse the web, all the files from JavaScript are first fetched from the server and then performed at our side by the browser.
It’s a JavaScript feature where an inner function has access to the enclosing or outer function’s variables, which is defined as a scope chain.
There are three types of scope chains:
- Access to its own scope
- Access to variables of outer functions
- Access to global variables
JavaScript is a high-level programming language that is used to calculate, manipulate and validate data. With the help of JavaScript, we can update and change both HTML and CSS.
We can write JavaScript code in an HTML page. When a HTML page loaded with JavaScript code, the script is sent to the browser for manipulate then HTML or CSS code will be rendered. It is a client-side technology.
undefined | Not defined | |
---|---|---|
1. | A variable was declared with a keyword "var" but not assigned with a value. | A variable have not been declared without assignment: |
2. | Example :var a = 1, b; |
Example :var a = 1, b; |
It is not a jQuery feature but a feature for debugging purposes used by developers. It is used to writes a message to the console.
console.log() accepts a parameter which can be an object, an array or any message.
Syntax : console.log(name);
// here name is object, an array or variable.
$('#form').submit(function() {
console.log(‘Your form is submitted successfully!’);
// do something
});
S.no | Call() | Apply() |
---|---|---|
1. | In JavaScript, call() is a predefined method used to invoke (call) methods with the use of an owner object as an argument (parameter). | apply() is a method to write another way which can be used on different objects. It’s usually action similar to call() action. |
Singleton is a JavaScript object which can be instantiated one time, whereas the singleton pattern is a design pattern that restricts the reinstallation of a class to one object. It allows only a single instance of itself to be created and can give access to that created instance.
Point to be noted:- Don’t let this JavaScript Interview Question take your job opportunity. Read it twice and then go for the interview.
It’s an advance object-oriented solution designed to solve commonly occurring software problems. These are reusable designs and interact with objects.
typeof
Example
var x = 12345;
console.log(typeof x)
x = 'string';
console.log(typeof x)
x = { key: 'value' };
console.log(typeof x)
Answer
number
string
object
if (Math.round(null) > 0.5) {
var x = 1;
} else {
var x = 2;
}
console.log(x);
2
const x = [];
x = 5;
console.log(x);
It will give an error like "TypeError: Assignment to constant variable".
On the basis of functioning
JavaScript is a scripting language which is compatible with all the major browsers and used to create interactive web-based applications. While jQuery is a framework which is the fastest JavaScript library used for the simplification of HTML document.
Time and simplicity
JavaScript is complex because it consumes the time of developers as it is important for the developers if they are using JavaScript then they have to create their own script. In the case of jQuery, developers need not write scripting as it already exists in the libraries.
Animation support
With JavaScript, it cannot be possible for the developer to use animation. On the other hand, jQuery allows the developers to use unbuild animations to make the applications interactive and attractive.
Featural aspects
JavaScript programming language is a combination of the European Manufacturing Association Script (ECMA) and Document Object Model (DOM). While on the other hand jQuery has a Document Object Model (DOM).
Interactivity feature
With the use of JavaScript, developers can make web pages more useful by suppling immediate feedback. While in case of jQuery developer can create web-based applications which becomes easier for the developer to customize the application as per the user's requirement.
Development History of JavaScript
Invented by Brendan Eich in 1995, JavaScript became an ECMA standard in 1997. JavaScript was first to run on the Netscape 2 browser.
Latest Version: ECMAScript 2018 or ES9 is the latest version and was released in October 2018.
Advantages of JavaScript
- Client-side JavaScript is quite fast.
- The syntax is simple and flexible.
- It develops well with most of the other popular languages.
- Drag and drop components give a rich interface to your site.
- Third party add-ons enable developers to write rich snippets.