The method getElementById selects an element using its ______.

  • ID
  • Tag Name
  • Class Name
  • Attribute
The method getElementById selects an element by its ID attribute. It returns the element with the specified ID attribute, providing a direct and efficient way to access an element in the DOM by its unique identifier.

A _________ function expression can be named, providing a reference to itself.

  • Recursive
  • IIFE (Immediately Invoked Function Expression)
  • Anonymous
  • Callback
A recursive function expression can be named, allowing it to refer to itself by name. This is useful in cases where a function needs to call itself during its execution, typically seen in solving recursive problems or implementing recursive algorithms.

You are designing a car simulation game using JavaScript. Each type of car (e.g., sedan, truck, etc.) has different methods for calculating fuel efficiency. Which object-oriented programming concept would be most appropriate to ensure that each car type can calculate fuel efficiency in its own way, while still inheriting basic characteristics from a general Car class?

  • Inheritance
  • Polymorphism
  • Encapsulation
  • Abstraction
Polymorphism allows different car types (e.g., sedan, truck) to have their own implementations of the fuel efficiency calculation method while inheriting common attributes and behaviors from the general Car class. This ensures flexibility and extensibility in your game.

You are developing a system where you have a base class "User" and two derived classes "Admin" and "Guest". If you want to add a method that is only applicable for "Admin" and not for "Guest", where should you add that method to adhere to the Liskov Substitution Principle?

  • In the "User" class
  • In the "Admin" class
  • In the "Guest" class
  • In a separate utility function
To adhere to the Liskov Substitution Principle, you should add the method specific to "Admin" in the "Admin" class. This ensures that each derived class (Admin and Guest) can be used interchangeably with the base class (User) without violating the principle.

Which keyword is used to check a condition in JavaScript?

  • for
  • if
  • while
  • switch
The keyword used to check a condition in JavaScript is if. It allows you to execute a block of code if a specified condition evaluates to true. The if statement is fundamental for controlling the flow of your JavaScript program.

How does JavaScript support lexical scoping?

  • By creating global variables
  • Through the use of the 'var' keyword
  • By nesting functions
  • By using block-level scoping with 'let'
JavaScript supports lexical scoping by allowing functions to access variables defined in their containing (enclosing) functions. This means that inner functions can "see" and use variables from outer functions, creating a chain of scope. This is achieved by nesting functions. Modern JavaScript also introduced 'let' for block-level scoping.

Which of the following scenarios is NOT recommended for using arrow functions?

  • As event handlers in the DOM.
  • As methods within objects.
  • In callbacks where "this" context matters.
  • In short, simple functions.
Arrow functions are not recommended for use as event handlers in the DOM. This is because the value of "this" in an arrow function is not determined by the event but instead retains the value from its enclosing lexical context, which may not be what you expect in an event handler. Traditional functions are usually preferred for event handlers.

What is the purpose of the default case in a switch statement?

  • It defines a fallback case
  • It specifies the first case
  • It is used for loop control
  • It marks the end of the switch
The default case in a switch statement serves as a fallback option. If none of the other cases match the expression's value, the code in the default case block is executed. This ensures that there is always a valid path in the switch.

How does the for...of loop handle string iteration?

  • It iterates over each character in the string.
  • It treats the string as an iterable object.
  • It only works on single-character strings.
  • It throws an error when used with strings.
The for...of loop handles string iteration by iterating over each character in the string. It treats the string as an iterable object where each character is an element, allowing you to loop through and process individual characters in a string efficiently.

Which early browser first implemented JavaScript?

  • Internet Explorer
  • Mosaic
  • Netscape Navigator
  • Opera
JavaScript was first implemented in Netscape Navigator. Brendan Eich developed it in 1995 while working at Netscape Communications. This move by Netscape added a significant interactive element to the web and contributed to the rapid adoption of JavaScript.

How does JavaScript implement inheritance internally?

  • Through classes and interfaces
  • Using a prototype chain and object delegation
  • By creating abstract base classes
  • Through function overloading
JavaScript implements inheritance through a prototype chain and object delegation. Each object has a prototype object, and if a property or method is not found on the object itself, it's looked up on the prototype chain. This mechanism allows objects to inherit properties and methods from their prototypes, facilitating code reuse and object-oriented programming in JavaScript. Classes and interfaces are not directly related to inheritance in JavaScript.

The comparison operator _______ checks for inequality, considering type coercion.

  • ==
  • ===
  • !=
  • !==
The comparison operator '!==' checks for inequality while also considering type coercion. It returns true if the values are not equal or if their types are not the same. For example, 5 !== "5" would evaluate to true because the number 5 is not equal to the string "5."