Javascript Questions for Interview with Answers 2020

javascript questions for interview with answers 2020

Javascript Questions for Interview with Answers 2020

Javascript Questions for Interview with Answers 2020

This Javascript Questions for Interview with Answers 2020 is a great help for those students and professionals who are preparing for Job Interview or Exam

Here are the List of Javascript Questions for Interview with Answers 2020

Javascript Questions for Interview with Answers 2020

  1. Javascript Questions for Interview : What is JavaScript?

    Answer: JavaScript is a client-side as well as server side scripting language that can be inserted into HTML pages and is understood by web browsers. JavaScript is also an Object based Programming language

  2. Javascript Questions for Interview : Enumerate the differences between Java and JavaScript?

    Answer: Java is a complete programming language. In contrast, JavaScript is a coded program that can be introduced to HTML pages. These two languages are not at all inter-dependent and are designed for the different intent. Java is an object – oriented programming (OOPS) or structured programming language like C++ or C whereas JavaScript is a client-side scripting language.

  3. Javascript Questions for Interview : What are JavaScript Data Types?

    Answer: Following are the JavaScript Data types:
    Number
    String
    Boolean
    Object
    Undefined

  4. Javascript Questions for Interview : What is the use of isNaN function?

    Answer: isNan function returns true if the argument is not a number otherwise it is false.

  5. Javascript Questions for Interview : Between JavaScript and an ASP script, which is faster?

    Answer: JavaScript is faster. JavaScript is a client-side language and thus it does not need the assistance of the web server to execute. On the other hand, ASP is a server-side language and hence is always slower than JavaScript. Javascript now is also a server side language (nodejs).

  6. Javascript Questions for Interview : What is negative infinity?

    Answer: Negative Infinity is a number in JavaScript which can be derived by dividing negative number by zero.

  7. Javascript Questions for Interview : Is it possible to break JavaScript Code into several lines?

    Answer: Breaking within a string statement can be done by the use of a backslash, ‘\’, at the end of the first line

  8. Javascript Questions for Interview : Which company developed JavaScript?

    Answer: Netscape is the software company who developed JavaScript.

  9. Javascript Questions for Interview : What are undeclared and undefined variables?

    Answer: Undeclared variables are those that do not exist in a program and are not declared. If the program tries to read the value of an undeclared variable, then a runtime error is encountered.
    Undefined variables are those that are declared in the program but have not been given any value. If the program tries to read the value of an undefined variable, an undefined value is returned.

  10. Javascript Questions for Interview : What are global variables? How are these variable declared and what are the problems associated with using them?

    Answer: Global variables are those that are available throughout the length of the code, that is, these have no scope. The var keyword is used to declare a local variable or object. If the var keyword is omitted, a global variable is declared.

  11. Javascript Questions for Interview : What is a prompt box?

    Answer: A prompt box is a box which allows the user to enter input by providing a text box. Label and box will be provided to enter the text or number.

  12. Javascript Questions for Interview : What is ‘this’ keyword in JavaScript?

    Answer: ‘This’ keyword refers to the object from where it was called.

  13. Javascript Questions for Interview : Explain the working of timers in JavaScript? Also elucidate the drawbacks of using the timer, if any?

    Answer: Timers are used to execute a piece of code at a set time or also to repeat the code in a given interval of time. This is done by using the functions setTimeout, setInterval and clearInterval.
    The setTimeout(function, delay) function is used to start a timer that calls a particular function after the mentioned delay. The setInterval(function, delay) function is used to repeatedly execute the given function in the mentioned delay and only halts when cancelled. The clearInterval(id) function instructs the timer to stop.
    Timers are operated within a single thread, and thus events might queue up, waiting to be executed.

  14. Javascript Questions for Interview : Which symbol is used for comments in Javascript?

    Answer: // for Single line comments and
    /* Multi
    Line
    Comment
    */

  15. Javascript Questions for Interview : What is the difference between ViewState and SessionState?

    Answer: ‘ViewState’ is specific to a page in a session.
    ‘SessionState’ is specific to user specific data that can be accessed across all pages in the web application.

  16. Javascript Questions for Interview : What is === operator?

    Answer: === is called as strict equality operator which returns true when the two operands are having the same value without any type conversion.

  17. Javascript Questions for Interview : Explain how can you submit a form using JavaScript?

    Answer: To submit a form using JavaScript use document.form[0].submit();
    document.form[0].submit();

  18. Javascript Questions for Interview : Does JavaScript support automatic type conversion?

    Answer: Yes JavaScript does support automatic type conversion, it is the common way of type conversion used by JavaScript developers

  19. Javascript Questions for Interview : How can the style/class of an element be changed?

    Answer: It can be done in the following way:
    document.getElementById(“myText”).style.fontSize = “10?;
    or
    document.getElementById(“myText”).className = “anyclass”;

  20. Javascript Questions for Interview : Explain how to read and write a file using JavaScript?

    Answer: There are two ways to read and write a file using JavaScript
    Using JavaScript extensions
    Using a web page and Active X objects

  21. Javascript Questions for Interview : What are all the looping structures in JavaScript?

    Answer: Following are looping structures in Javascript:
    For
    While
    do-while loops

  22. Javascript Questions for Interview : What is called Variable typing in Javascript?

    Answer: Variable typing is used to assign a number to a variable and the same variable can be assigned to a string.

  23. Javascript Questions for Interview : How can you convert the string of any base to integer in JavaScript?

    Answer: The parseInt() function is used to convert numbers between different bases. parseInt() takes the string to be converted as its first parameter, and the second parameter is the base of the given string.

  24. Javascript Questions for Interview : Explain the difference between “==” and “===”?

    Answer: “==” checks only for equality in value whereas “===” is a stricter equality test and returns false if either the value or the type of the two variables are different.

  25. Javascript Questions for Interview : Explain how to detect the operating system on the client machine?

    Answer: In order to detect the operating system on the client machine, the navigator.platform string (property) should be used.

  26. Javascript Questions for Interview : What do mean by NULL in Javascript?

    Answer: The NULL value is used to represent no value or no object. It implies no object or null string, no valid boolean value, no number and no array object.

  27. Javascript Questions for Interview : What is the function of delete operator?

    Answer: The delete keyword is used to delete the property as well as its value.

  28. Javascript Questions for Interview : What is an undefined value in JavaScript?

    Answer: Undefined value means the
    Variable used in the code doesn’t exist
    Variable is not assigned to any value
    Property doesn’t exist

  29. What are all the types of Pop up boxes available in JavaScript?

    Answer: Alert
    Confirm and
    Prompt

  30. What is the use of Void(0)?

    Answer: Void(0) is used to prevent the page from refreshing and parameter “zero” is passed while calling.
    Void(0) is used to call another method without refreshing the page.

  31. Javascript Questions for Interview : How can a page be forced to load another page in JavaScript?

    Answer: The following code has to be inserted to achieve the desired effect:

  32. What is the data type of variables of in JavaScript?

    Answer: All variables in the JavaScript are object data types.

  33. What is the difference between an alert box and a confirmation box?

    Answer: An alert box displays only one button which is the OK button.
    But a Confirmation box displays two buttons namely OK and cancel.

  34. What are escape characters?

    Answer: Escape characters (Backslash) is used when working with special characters like single quotes, double quotes, apostrophes and ampersands. Place backslash before the characters to make it display.

  35. Javascript Questions for Interview : What are JavaScript Cookies?

    Answer: Cookies are the small test files stored in a computer and it gets created when the user visits the websites to store information that they need. Example could be User Name details and shopping cart information from the previous visits.

  36. Explain what is pop()method in JavaScript?

    Answer: The pop() method is similar as the shift() method but the difference is that the Shift method works at the start of the array. Also the pop() method take the last element off of the given array and returns it. The array on which is called is then altered.

  37. Whether JavaScript has concept level scope?

    Answer: No. JavaScript does not have concept level scope. The variable declared inside the function has scope inside the function.

  38. Mention what is the disadvantage of using innerHTML in JavaScript?

    Answer: If you use innerHTML in JavaScript the disadvantage is
    Content is replaced everywhere
    We cannot use like “appending to innerHTML”
    Even if you use +=like “innerHTML = innerHTML + ‘html'” still the old content is replaced by html
    The entire innerHTML content is re-parsed and build into elements, therefore its much slower
    The innerHTML does not provide validation and therefore we can potentially insert valid and broken HTML in the document and break it

  39. What is break and continue statements?

    Answer: Break statement exits from the current loop.
    Continue statement continues with next statement of the loop.

  40. What are the two basic groups of dataypes in JavaScript?

    Answer: They are as –
    Primitive
    Reference types.
    Primitive types are number and Boolean data types. Reference types are more complex types like strings and dates.

  41. How generic objects can be created?

    Answer: Generic objects can be created as:
    var I = new object();

  42. What is the use of type of operator?

    Answer: ‘Typeof’ is an operator which is used to return a string description of the type of a variable.

  43. Which keywords are used to handle exceptions?

    Answer: Try… Catch—finally is used to handle exceptions in the JavaScript
    Try{
    Code
    }
    Catch(exp){
    Code to throw an exception
    }
    Finally{
    Code runs either it finishes successfully or after catch
    }

  44. Which keyword is used to print the text in the screen?

    Answer: document.write(“Welcome”) is used to print the text – Welcome in the screen.

  45. Javascript Questions for Interview : What is the use of blur function?

    Answer: Blur function is used to remove the focus from the specified object.

  46. How to find operating system in the client machine using JavaScript?

    Answer: The ‘Navigator.appversion’ is used to find the name of the operating system in the client machine.

  47. What are the different types of errors in JavaScript?

    Answer: There are three types of errors:
    Load time errors: Errors which come up when loading a web page like improper syntax errors are known as Load time errors and it generates the errors dynamically.
    Run time errors: Errors that come due to misuse of the command inside the HTML language.
    Logical Errors: These are the errors that occur due to the bad logic performed on a function which is having different operation.

  48. Javascript Questions for Interview : What is the use of Push method in JavaScript?

    Answer: The push method is used to add or append one or more elements to the end of an Array. Using this method, we can append multiple elements by passing multiple arguments

  49. What is unshift method in JavaScript?

    Answer: Unshift method is like push method which works at the beginning of the array. This method is used to prepend one or more elements to the beginning of the array.

  50. Javascript Questions for Interview : What is the difference between JavaScript and Jscript?

    Answer: Both are almost similar. JavaScript is developed by Netscape and Jscript was developed by Microsoft .

  51. How are object properties assigned?

    Answer: Properties are assigned to objects in the following way –
    obj[“class”] = 12;
    or
    obj.class = 12;

  52. What is the ‘Strict’ mode in JavaScript and how can it be enabled?

    Answer: Strict Mode adds certain compulsions to JavaScript. Under the strict mode, JavaScript shows errors for a piece of codes, which did not show an error before, but might be problematic and potentially unsafe. Strict mode also solves some mistakes that hamper the JavaScript engines to work efficiently.
    Strict mode can be enabled by adding the string literal “use strict” above the file.

  53. What is the way to get the status of a CheckBox?

    Answer: The status can be acquired as follows –
    alert(document.getElementById(‘checkbox1’).checked);
    If the CheckBox will be checked, this alert will return TRUE.

  54. How can the OS of the client machine be detected?

    Answer: The navigator.appVersion string can be used to detect the operating system on the client machine.

  55. Javascript Questions for Interview : Explain window.onload and onDocumentReady?

    Answer: The onload function is not run until all the information on the page is loaded. This leads to a substantial delay before any code is executed.
    onDocumentReady loads the code just after the DOM is loaded.

  56. How will you explain closures in JavaScript? When are they used?

    Answer: Closure is a locally declared variable related to a function which stays in memory when the function has returned.

  57. Javascript Questions for Interview : How can a value be appended to an array?

    Answer: A value can be appended to an array in the given manner –
    arr[arr.length] = value;

  58. Javascript Questions for Interview : Explain the for-in loop?

    Answer: The for-in loop is used to loop through the properties of an object.
    In each repetition, one property from the object is associated to the variable name, and the loop is continued till all the properties of the object are depleted.

  59. Describe the properties of an anonymous function in JavaScript?

    Answer: A function that is declared without any named identifier is known as an anonymous function. In general, an anonymous function is inaccessible after its declaration.

  60. Javascript Questions for Interview : What is the difference between .call() and .apply()?

    Answer: The function .call() and .apply() are very similar in their usage except a little difference. .call() is used when the number of the function’s arguments are known to the programmer, as they have to be mentioned as arguments in the call statement. On the other hand, .apply() is used when the number is not known. The function .apply() expects the argument to be an array.
    The basic difference between .call() and .apply() is in the way arguments are passed to the function.

  61. Define event bubbling?

    Answer: JavaScript allows DOM elements to be nested inside each other. In such a case, if the handler of the child is clicked, the handler of parent will also work as if it were clicked too.

  62. Javascript Questions for Interview : Is JavaScript case sensitive? Give an example?

    Answer: Yes, JavaScript is case sensitive. For example, a function parseInt is not same as the function Parseint.

  63. Javascript Questions for Interview : What boolean operators can be used in JavaScript?

    Answer: The ‘And’ Operator (&&), ‘Or’ Operator (||) and the ‘Not’ Operator (!) can be used in JavaScript.
    *Operators are without the parenthesis.

  64. Javascript Questions for Interview : How can a particular frame be targeted, from a hyperlink, in JavaScript?

    Answer: This can be done by including the name of the required frame in the hyperlink using the ‘target’ attribute.

  65. Javascript Questions for Interview : What is the role of break and continue statements?

    Answer: Break statement is used to come out of the current loop while the continue statement continues the current loop with a new recurrence.

  66. Write the point of difference between web-garden and a web-farm?

    Answer: Both web-garden and web-farm are web hosting systems. The only difference is that web-garden is a setup that includes many processors in a single server while web-farm is a larger setup that uses more than one server.

  67. Javascript Questions for Interview : How are object properties assigned?

    Answer: Assigning properties to objects is done in the same way as a value is assigned to a variable. For example, a form object’s action value is assigned as ‘submit’ in the following manner – Document.form.action=”submit”

  68. Javascript Questions for Interview : What is the method for reading and writing a file in JavaScript?

    Answer: This can be done by Using JavaScript extensions (runs from JavaScript Editor), example for opening of a file –
    fh = fopen(getScriptPath(), 0);

  69. Javascript Questions for Interview : How are DOM utilized in JavaScript?

    Answer: DOM stands for Document Object Model and is responsible for how various objects in a document interact with each other. DOM is required for developing web pages, which includes objects like paragraph, links, etc. These objects can be operated to include actions like add or delete. DOM is also required to add extra capabilities to a web page. On top of that, the use of API gives an advantage over other existing models.

  70. Javascript Questions for Interview : How are event handlers utilized in JavaScript?

    Answer: Events are the actions that result from activities, such as clicking a link or filling a form, by the user. An event handler is required to manage proper execution of all these events. Event handlers are an extra attribute of the object. This attribute includes event’s name and the action taken if the event takes place.

  71. Javascript Questions for Interview : Explain the role of deferred scripts in JavaScript?

    Answer: By default, the parsing of the HTML code, during page loading, is paused until the script has not stopped executing. It means, if the server is slow or the script is particularly heavy, then the webpage is displayed with a delay. While using Deferred, scripts delays execution of the script till the time HTML parser is running. This reduces the loading time of web pages and they get displayed faster.

  72. Javascript Questions for Interview : What are the various functional components in JavaScript?

    Answer: The different functional components in JavaScript are-
    First-class functions: Functions in JavaScript are utilized as first class objects. This usually means that these functions can be passed as arguments to other functions, returned as values from other functions, assigned to variables or can also be stored in data structures.
    Nested functions: The functions, which are defined inside other functions, are called Nested functions. They are called ‘everytime’ the main function is invoked.

  73. Javascript Questions for Interview : What are Screen objects?

    Answer: Screen objects are used to read the information from the client’s screen. The properties of screen objects are –
    AvailHeight: Gives the height of client’s screen
    AvailWidth: Gives the width of client’s screen.
    ColorDepth: Gives the bit depth of images on the client’s screen
    Height: Gives the total height of the client’s screen, including the taskbar
    Width: Gives the total width of the client’s screen, including the taskbar

  74. Javascript Questions for Interview : Explain the unshift() method ?

    Answer: This method is functional at the starting of the array, unlike the push(). It adds the desired number of elements to the top of an array.

  75. Javascript Questions for Interview : Define unescape() and escape() functions?

    Answer: The escape () function is responsible for coding a string so as to make the transfer of the information from one computer to the other, across a network.
    The unescape() function is very important as it decodes the coded string.

  76. Javascript Questions for Interview : What are the decodeURI() and encodeURI()?

    Answer: EncodeURl() is used to convert URL into their hex coding. And DecodeURI() is used to convert the encoded URL back to normal.

  77. Javascript Questions for Interview : Why it is not advised to use innerHTML in JavaScript?

    Answer: innerHTML content is refreshed every time and thus is slower. There is no scope for validation in innerHTML and, therefore, it is easier to insert rouge code in the document and, thus, make the web page unstable.

  78. Javascript Questions for Interview : What does the following statement declares?

    Answer: var myArray = [[[]]];
    It declares a three dimensional array.

  79. Javascript Questions for Interview : How are JavaScript and ECMA Script related?

    Answer: ECMA Script are like rules and guideline while Javascript is a scripting language used for web development.

  80. Javascript Questions for Interview : What is namespacing in JavaScript and how is it used?

    Answer: Namespacing is used for grouping the desired functions, variables etc. under a unique name. It is a name that has been attached to the desired functions, objects and properties. This improves modularity in the coding and enables code reuse.

  81. Javascript Questions for Interview : What’s the difference between undefined and null?.

    Answer: undefined is the default value of a variable that has not been assigned a specific value. Or a function that has no explicit return value ex. console.log(1). Or a property that does not exist in an object. The JavaScript engine does this for us the assigning of undefined value.
    null is “a value that represents no value”. null is value that has been explicitly defined to a variable. In this example we get a value of null when the fs.readFile method does not throw an error.

  82. Javascript Questions for Interview : What does the && operator do?

    Answer: The && or Logical AND operator finds the first falsy expression in its operands and returns it and if it does not find any falsy expression it returns the last expression. It employs short-circuiting to prevent unnecessary work. I’ve used this in the catch block when closing database connection in one of my projects.

  83. Javascript Questions for Interview : What does the || operator do?

    Answer: The || or Logical OR operator finds the first truthy expression in its operands and returns it. This too employs short-circuiting to prevent unnecessary work. It was used before to initialize default parameter values IN functions before ES6 Default function parameters was supported.

  84. Javascript Questions for Interview : Is using the + or unary plus operator the fastest way in converting a string to a number?

    Answer: According to MDN Documentation the + is the fastest way of converting a string to a number because it does not perform any operations on the value if it is already a number.

  85. Javascript Questions for Interview : What is the DOM?

    Answer: DOM stands for Document Object Model is an interface (API) for HTML and XML documents. When the browser first reads (parses) our HTML document it creates a big object, a really big object based on the HTML document this is the DOM. It is a tree-like structure that is modeled from the HTML document. The DOM is used for interacting and modifying the DOM structure or specific Elements or Nodes.

  86. Javascript Questions for Interview : What is Event Propagation?

    Answer: When an event occurs on a DOM element, that event does not entirely occur on that just one element. In the Bubbling Phase, the event bubbles up or it goes to its parent, to its grandparents, to its grandparent’s parent until it reaches all the way to the window while in the Capturing Phase the event starts from the window down to the element that triggered the event or the event.target.

  87. Javascript Questions for Interview : What’s Event Bubbling?

    Answer: When an event occurs on a DOM element, that event does not entirely occur on that just one element. In the Bubbling Phase, the event bubbles up or it goes to its parent, to its grandparents, to its grandparent’s parent until it reaches all the way to the window.

  88. Javascript Questions for Interview : What’s Event Capturing?

    Answer: When an event occurs on a DOM element, that event does not entirely occur on that just one element. In Capturing Phase, the event starts from the window all the way down to the element that triggered the event.

  89. Javascript Questions for Interview : What’s the difference between event.preventDefault() and event.stopPropagation() methods?

    Answer: The event.preventDefault() method prevents the default behavior of an element. If used in a form element it prevents it from submitting. If used in an anchor element it prevents it from navigating. If used in a contextmenu it prevents it from showing or displaying. While the event.stopPropagation() method stops the propogation of an event or it stops the event from occurring in the bubbling or capturing phase.

  90. Javascript Questions for Interview : How to know if the event.preventDefault() method was used in an element?

    Answer: We can use the event.defaultPrevented property in the event object. It returns a boolean indicating if the event.preventDefault() was called in a particular element.

  91. Javascript Questions for Interview : Why does this code obj.someprop.x throw an error?

    Answer: const obj = {};
    console.log(obj.someprop.x);
    Obviously, this throws an error due to the reason we are trying to access a
    x property in the someprop property which have an undefined value. Remember properties in an object which does not exist in itself and its prototype has a default value of undefined and undefined has no property x.

  92. Javascript Questions for Interview : What is event.target ?

    Answer: the event.target is the element on which the event occurred or the element that triggered the event.

  93. Javascript Questions for Interview : What is event.currentTarget?

    Answer: The event.currentTarget is the element on which we attach the event handler explicitly.

  94. Javascript Questions for Interview : What does the !! operator do?

    Answer: The Double NOT operator or !! coerces the value on the right side into a boolean. basically it’s a fancy way of converting a value into a boolean.

  95. Javascript Questions for Interview : How to evaluate multiple expressions in one line?

    Answer: We can use the , or comma operator to evaluate multiple expressions in one line. It evaluates from left-to-right and returns the value of the last item on the right or the last operand.

  96. Javascript Questions for Interview : What is Hoisting?

    Answer: Hoisting is the term used to describe the moving of variables and functions to the top of their (global or function) scope on where we define that variable or function.

  97. Javascript Questions for Interview : What is Scope?

    Answer: Scope in JavaScript is the area where we have valid access to variables or functions. JavaScript has three types of Scopes. Global Scope, Function Scope, and Block Scope(ES6).
    Global Scope – variables or functions declared in the global namespace are in the global scope and therefore is accessible everywhere in our code.
    Function Scope – variables,functions and parameters declared within a function are accessible inside that function but not outside of it.
    Block Scope – variables (let,const) declared within a block {} can only be access within it.

  98. Javascript Questions for Interview : What are Closures?

    Answer: Closures is simply the ability of a function at the time of declaration to remember the references of variables and parameters on its current scope, on its parent function scope, on its parent’s parent function scope until it reaches the global scope with the help of Scope Chain. Basically it is the Scope created when the function was declared.

  99. Javascript Questions for Interview : How to check if a value is falsy?

    Answer: Use the Boolean function or the Double NOT operator !!

  100. Javascript Questions for Interview : What does “use strict” do?

    Answer: “use strict” is a ES5 feature in JavaScript that makes our code in Strict Mode in functions or entire scripts. Strict Mode helps us avoid bugs early on in our code and adds restrictions to it.

  101. Javascript Questions for Interview : What is the prototype of an object?

    Answer: A prototype in simplest terms is a blueprint of an object. It is used as a fallback for properties and methods if it does exist in the current object. It’s the way to share properties and functionality between objects. It’s the core concept around JavaScript’s Prototypal Inheritance.

  102. Javascript Questions for Interview : What is an IIFE, what is the use of it?

    Answer: An IIFE or Immediately Invoked Function Expression is a function that is gonna get invoked or executed after its creation or declaration. The syntax for creating IIFE is that we wrap the function (){} inside a parentheses () or the Grouping Operator to treat the function as an expression and after that we invoke it with another parentheses (). So an IIFE looks like this (function(){})().

  103. Javascript Questions for Interview : What is the use Function.prototype.apply method?

    Answer: The apply invokes a function specifying the this or the “owner” object of that function on that time of invocation.

  104. Javascript Questions for Interview : What is the use Function.prototype.call method?

    Answer: The call invokes a function specifying the this or the “owner” object of that function on that time of invocation.

  105. Javascript Questions for Interview : What’s the difference between Function.prototype.apply and Function.prototype.call?

    Answer: The only difference between apply and call is how we pass the arguments in the function being called. In apply we pass the arguments as an array and in call we pass the arguments directly in the argument list.

  106. Javascript Questions for Interview : What is the usage of Function.prototype.bind?

    Answer: The bind method returns a new function that is bound
    to a specific this value or the “owner” object, So we can use it later in our code.

  107. Javascript Questions for Interview : What is Functional Programming and what are the features of JavaScript that makes it a candidate as a functional language?

    Answer: Functional Programming is a declarative programming paradigm or pattern on how we build our applications with functions using expressions that calculates a value without mutating or changing the arguments that are passed to it.

  108. Javascript Questions for Interview : What are Higher Order Functions?

    Answer: Higher-Order Function are functions that can return a function or receive argument or arguments which has a value of a function.

  109. Javascript Questions for Interview : Why are functions called First-class Objects?

    Answer: Functions in JavaScript are First-class Objects because they are treated as any other value in the language. They can be assigned to variables, they can be properties of an object which are called methods, they can be an item in array, they can be passed as arguments to a function, and they can be returned as values of a function. The only difference between a function and any other value in JavaScript is that functions can be invoked or called.

  110. Javascript Questions for Interview : What is Array.prototype.map method by hand.

    Answer: The map() method creates a new array with the results of calling a provided function on every element in the calling array.

  111. Javascript Questions for Interview : What is Array.prototype.filter method by hand.

    Answer: The filter() method creates a new array with all elements that pass the test implemented by the provided function.

  112. What is Array.prototype.reduce method by hand.

    Answer: The reduce() method executes a reducer function (that you provide) on each element of the array, resulting in a single output value.

  113. Javascript Questions for Interview : What is the arguments object?

    Answer: The arguments object is a collection of parameter values pass in a function. It’s an Array-like object because it has a length property and we can access individual values using array indexing notation arguments[1] but it does not have the built-in methods in an array forEach,reduce,filter and map.

  114. Javascript Questions for Interview : How to create an object without a prototype?

    Answer: We can create an object without a prototype using the Object.create method.

  115. Why does b in this code become a global variable when you call this function?

    Answer: The reason for this is that assignment operator or = has right-to-left associativity or evaluation. What this means is that when multiple assignment operators appear in a single expression they evaluated from right to left. So our code becomes likes this.

  116. Javascript Questions for Interview : What is ECMAScript?

    Answer: ECMAScript is a standard for making scripting languages which means that JavaScript follows the specification changes in ECMAScript standard because it is the blueprint of JavaScript.

  117. What are the new features in ES6 or ECMAScript 2015?

    Answer:
    Arrow Functions
    Classes
    Template Strings
    Enhanced Object literals
    Object Destructuring
    Promises
    Generators
    Modules
    Symbol
    Proxies
    Sets
    Default Function parameters
    Rest and Spread
    Block Scoping with let and const

  118. What are Classes?

    Answer: Classes is the new way of writing constructor functions in JavaScript. It is syntactic sugar for using constructor functions, it still uses prototypes and Prototype-Based Inheritance under the hood.

  119. Javascript Questions for Interview : What are Template Literals?

    Answer: Template Literals are a new way of making strings in JavaScript. We can make Template Literal by using the backtick or back-quote symbol.

  120. What is Object Destructuring?

    Answer: Object Destructuring is a new and cleaner way of getting or extracting values from an object or an array.

  121. What are ES6 Modules?

    Answer: Modules lets us split our code base to multiple files for more maintainability and this lets us avoid putting all of our code in one big file (yucksss). Before ES6 has supported Modules there were two popular module systems that were used for Code Maintainability in JavaScript.
    CommonJS – Nodejs
    AMD (Asynchronous Module Definition) – Browsers

  122. What is the Set object and how does it work?

    Answer: The Set object is an ES6 feature that lets you store unique values, primitives or object references. A value in a Set can only occur once. It checks if a value exists in the set object using the SameValueZero algorithm.

  123. What is a Callback function?

    Answer: A Callback function is a function that is gonna get called at a later point in time.

  124. Javascript Questions for Interview : What are Promises?

    Answer: Promises are one way in handling asynchronous operations in JavaScript. It represents the value of an asynchronous operation. Promises was made to solve the problem of doing and dealing with async code before promises we’re using callbacks.

  125. What is async/await and How does it work?

    Answer: async/await is the new way of writing asynchronous or non-blocking code in JavaScript’s. It is built on top of Promises. It makes writing asynchronous code more readable and cleaner than
    Promises and Callbacks. But you must learn the basics of Promises before using this feature because as I said earlier it is built on top of Promises which means is still uses Promises under the hood.

  126. What’s the difference between Spread operator and Rest operator?

    Answer: The Spread operator and Rest paremeters have the same operator … the difference between is that the Spread operator we give or spread individual data of an array to another data while the Rest parameters is used in a function or an array to get all the arguments or values and put them in an array or extract some pieces of them.

  127. What are Default Parameters?

    Answer: Default Parameters is a new way of defining default variables in JavaScript it is available in the ES6 or ECMAScript 2015 Version.

  128. What are Wrapper Objects?

    Answer: Primitive Values like string,number and boolean with the exception of null and undefined have properties and methods even though they are not objects.

  129. What is the difference between Implicit and Explicit Coercion?

    Answer: Implicit Coercion is a way of converting values to another type without us programmer doing it directly or by hand.

  130. Javascript Questions for Interview : What is NaN? and How to check if a value is NaN?

    Answer: NaN means “Not A Number” is a value in JavaScript that is a result in converting or performing an operation to a number to non-number value hence results to NaN.

  131. Javascript Questions for Interview : How to check if a value is an Array

    Answer: We can check if a value is an Array by using the Array.isArray method available from the Array global object. It returns true when the parameter pass to it is an Array otherwise false.

  132. How to check if a number is even without using the % or modulo operator?

    Answer: We can use the bitwise AND& operator for this problem. The & operates on its operand and treats them as binary values and performs the AND operation.

  133. How to check if a certain property exists in an object?

    Answer: There are three possible ways to check if a property exists in an object.
    First , using the in operator. The syntax for using the in operator is like this propertyname in object. It returns true if the property exists otherwise it returns false.

  134. Javascript Questions for Interview : What is AJAX?

    Answer: AJAX stands for Asynchronous JavaScript and XML. It is a group of related technologies used to display data asynchronously. What this means is that we can send data to the server and get data from the server without reloading the web page.

  135. What’s the difference between Object.seal and Object.freeze methods?

    Answer: The difference between these two methods is that when we use the Object.freeze method to an object, that object’s properties are immutable meaning we can’t change or edit the values of those properties. While in the Object.seal method we can change those existing properties.

  136. Javascript Questions for Interview : What’s the difference between the in operator and the hasOwnProperty method in objects?

    Answer: As you know both of these features check if a property exists in an object. It will return truefalse. The difference between them is that the in operator also checks the objects’ Prototype Chain if the property was not found in the current object while the hasOwnProperty method just checks if the property exists in the current object ignoring the Prototype Chain.

  137. What are the ways to deal with Asynchronous Code in JavasScript?

    Answer:
    Callbacks
    Promises
    async/await
    Libraries like async.js, bluebird, q, co

  138. Javascript Questions for Interview : What’s the difference between a function expression and function declaration?

    Answer: The notHoistedFunc call throws an error while the hoistedFunc call does not because the hoistedFunc is hoisted while the notHoistedFunc is not.
    Read Hoisting here.

  139. Javascript Questions for Interview : How many ways can a function be invoked?

    Answer: There are 4 ways that a function can be invoked in JavaScript. The invocation determines the value of this or the “owner” object of that function.
    Invocation as a function – If a function isn’t invoked as a method, as a constructor or with the apply, call methods then it is invoked as a function. The “owner” object of this function will be the window object.
    Invocation as a method – If a property of an object has a value of a function we call it a method. When that method is invoked the this value of that method will be that object.
    Invocation as a constructor – If a function was invoked with a new keyword before it then it’s called a function constructor. An empty object will be created and this will point to that object.
    Invocation with the apply and call methods – If we want to explicitly specify the this value or the “owner” object of a function we can use these methods. These methods are available for all functions.

  140. What is memoization and what’s the use it?

    Answer: memoization is a process of building a function that is capable of remembering it’s previously computed results or values.
    The use of making a memoization function is that we avoid the computation of that function if it was already performed in the last calculations with the same arguments. This saves time but has a downside that we will consume more memory for saving the previous results.

  141. Why does typeof null return object? How to check if a value is null?

    Answer: typeof null == ‘object’ will always return true because this was the implementation of null since the birth of JavaScript. A fix was proposed to change typeof null == ‘object’ to typeof null == ‘null’ but was rejected because it will lead to more bugs.
    We can use the === or strict equality operator to check if a value is null.
    function isNull(value){
    return value === null;
    }

  142. Javascript Questions for Interview : What does the new keyword do?

    Answer: The new keyword is used with constructor functions to make objects
    in JavaScript.

  143. Javascript Questions for Interview : What are the data types supported by JavaScript?

    Answer: The data types supported by JavaScript are:
    Undefined
    Null
    Boolean
    String
    Symbol
    Number
    Object

  144. What are the features of JavaScript?

    Answer:
    Following are the features of JavaScript:
    It is a lightweight, interpreted programming language.
    It is designed for creating network-centric applications.
    It is complementary to and integrated with Java.
    It is an open and cross-platform scripting language.

  145. Javascript Questions for Interview : Is JavaScript a case-sensitive language?

    Answer: Yes, JavaScript is a case sensitive language. The language keywords, variables, function names, and any other identifiers must always be typed with a consistent capitalization of letters.

  146. What are the advantages of JavaScript?

    Answer:
    JavaScript advantages – JavaScript interview questionsFollowing are the advantages of using JavaScript −
    Less server interaction − You can validate user input before sending the page off to the server. This saves server traffic, which means less load on your server.
    Immediate feedback to the visitors − They don’t have to wait for a page reload to see if they have forgotten to enter something.
    Increased interactivity − You can create interfaces that react when the user hovers over them with a mouse or activates them via the keyboard.
    Richer interfaces − You can use JavaScript to include such items as drag-and-drop components and sliders to give a Rich Interface to your site visitors.

  147. Javascript Questions for Interview : Can you assign an anonymous function to a variable and pass it as an argument to another function?

    Answer: Yes! An anonymous function can be assigned to a variable. It can also be passed as an argument to another function.

  148. What is argument objects in JavaScript & how to get the type of arguments passed to a function?

    Answer: JavaScript variable arguments represents the arguments that are passed to a function. Using typeof operator, we can get the type of arguments passed to a function.

  149. How does TypeOf Operator work?

    Answer: The typeof operator is used to get the data type of its operand. The operand can be either a literal or a data structure such as a variable, a function, or an object. It is a unary operator that is placed before its single operand, which can be of any type. Its value is a string indicating the data type of the operand.

  150. List out the different ways an HTML element can be accessed in a JavaScript code.

    Answer: Here are the list of ways an HTML element can be accessed in a Javascript code:
    (i) getElementById(‘idname’): Gets an element by its ID name
    (ii) getElementsByClass(‘classname’): Gets all the elements that have the given classname.
    (iii) getElementsByTagName(‘tagname’): Gets all the elements that have the given tag name.
    (iv) querySelector(): This function takes css style selector and returns the first selected element.