A constructor is a special method in a class that runs automatically when a new object is created. It sets up the object with initial values.
Click to reveal answer
beginner
How do you define a constructor inside a JavaScript class?
You define it using the keyword <code>constructor()</code> inside the class body. It looks like a regular method but named <code>constructor</code>.
Click to reveal answer
beginner
What happens if you don't write a constructor in a JavaScript class?
If no constructor is written, JavaScript uses a default constructor that does nothing but allows object creation.
Click to reveal answer
beginner
Can a JavaScript class have more than one constructor?
No, a class can only have one constructor method. Trying to add more will cause an error.
Click to reveal answer
beginner
How do you use parameters in a constructor?
You add parameters inside the constructor() parentheses and use them to set properties on the new object.
Click to reveal answer
What keyword is used to define a constructor in a JavaScript class?
Acreate
Binit
Cbuild
Dconstructor
✗ Incorrect
The constructor method is defined using the keyword constructor inside the class.
What happens if you create an object from a class without a constructor?
AJavaScript throws an error
BA default constructor runs
CThe object is not created
DYou must add a constructor manually
✗ Incorrect
If no constructor is defined, JavaScript uses a default constructor that allows object creation.
How many constructors can a JavaScript class have?
AAs many as you want
BTwo
COne
DNone
✗ Incorrect
A class can only have one constructor method.
Where do you put parameters to initialize object properties in a constructor?
AInside the constructor parentheses
BAfter the class keyword
CInside the class but outside the constructor
DIn a separate method
✗ Incorrect
Parameters go inside the constructor parentheses to set initial values.
Which of these is a correct constructor syntax in JavaScript?
Aconstructor() { this.name = 'John'; }
Bfunction constructor() { this.name = 'John'; }
Cclass constructor() { this.name = 'John'; }
Dnew constructor() { this.name = 'John'; }
✗ Incorrect
The constructor is defined as a method inside the class without the function keyword.
Explain what a constructor does in a JavaScript class and why it is useful.
Think about how you prepare a new object with starting values.
You got /4 concepts.
Describe how you would add parameters to a constructor and use them to set object properties.
Consider how you pass information when creating a new object.
You got /3 concepts.
Practice
(1/5)
1. What is the main purpose of a constructor in a JavaScript class?
easy
A. To create static properties for the class
B. To define methods that all objects share
C. To initialize new objects with default or given values
D. To delete objects when they are no longer needed
Solution
Step 1: Understand the role of a constructor
A constructor is a special method in a class that runs automatically when a new object is created.
Step 2: Identify what constructors do
Constructors set initial values for the object's properties using this.
Final Answer:
To initialize new objects with default or given values -> Option C
Quick Check:
Constructor = initialize object [OK]
Hint: Constructors always set up new objects [OK]
Common Mistakes:
Confusing constructors with regular methods
Thinking constructors delete objects
Believing constructors create static properties
2. Which of the following is the correct syntax to define a constructor inside a JavaScript class?
easy
A. constructor() { this.name = 'John'; }
B. function constructor() { this.name = 'John'; }
C. def constructor() { this.name = 'John'; }
D. constructor = () => { this.name = 'John'; }
Solution
Step 1: Recall JavaScript class constructor syntax
In JavaScript classes, the constructor is defined as a method named constructor without the function keyword.
Step 2: Check each option
constructor() { this.name = 'John'; } uses the correct syntax: constructor() { ... }. Options B and C incorrectly use keywords from other languages or function syntax. constructor = () => { this.name = 'John'; } uses arrow function syntax, which is invalid for constructors.
Final Answer:
constructor() { this.name = 'John'; } -> Option A
Quick Check:
Constructor method = constructor() { } [OK]
Hint: Constructor is a method named exactly 'constructor' [OK]
Common Mistakes:
Adding 'function' keyword before constructor
Using arrow functions for constructors
Using other language syntax like 'def'
3. What will be the output of the following code?
class Person {
constructor(name) {
this.name = name;
}
greet() {
return `Hello, ${this.name}!`;
}
}
const p = new Person('Alice');
console.log(p.greet());
medium
A. Hello, undefined!
B. Hello, Alice!
C. Hello, !
D. TypeError: p.greet is not a function
Solution
Step 1: Understand object creation with constructor
The Person class constructor sets this.name to the passed argument. Here, 'Alice' is passed, so p.name becomes 'Alice'.
Step 2: Evaluate the greet method output
The greet method returns a string using this.name, which is 'Alice'. So, p.greet() returns 'Hello, Alice!'.
Final Answer:
Hello, Alice! -> Option B
Quick Check:
Constructor sets name, greet uses it = Hello, Alice! [OK]
Hint: Constructor sets property, method uses it [OK]
Common Mistakes:
Forgetting to pass argument to constructor
Expecting undefined because of missing this
Thinking greet is not a method
4. Identify the error in this class definition:
class Car {
constructor(make, model) {
make = make;
model = model;
}
}
medium
A. Properties should be assigned using this, like this.make = make;
B. The class name should be lowercase
C. The constructor should not have parameters
D. The constructor must return an object explicitly
Solution
Step 1: Review property assignment in constructor
Inside a constructor, to assign values to the object's properties, you must use this.propertyName. Simply writing make = make; assigns the parameter to itself, which does nothing.
Step 2: Identify the correct fix
Using this.make = make; and this.model = model; correctly assigns the values to the new object's properties.
Final Answer:
Properties should be assigned using this, like this.make = make; -> Option A
Quick Check:
Use this.property = parameter [OK]
Hint: Always use this.property to assign inside constructor [OK]
Common Mistakes:
Assigning parameters to themselves
Not using this to set properties
Thinking constructor must return explicitly
5. You want to create a Book class where each book has a title and an optional author. If no author is given, it should default to 'Unknown'. Which constructor correctly implements this behavior?
hard
A. constructor(title, author) { this.title = title; if (author) this.author = author; }
Step 1: Understand optional parameters in constructors
Use default parameter values for optional arguments. constructor(title, author = 'Unknown') { this.title = title; this.author = author; }: constructor(title, author = 'Unknown') sets author to 'Unknown' if not provided or undefined, but keeps passed falsy values like empty string.
Step 2: Check other options
B uses ||, which defaults falsy values (not just missing). C has no author param. D sets only if truthy, else undefined.