Unexpected return statement in constructor
135 if (!SellerRepository.#instance) {
136 console.log('SellerRepository instance created');
137 SellerRepository.#instance = this;
138 return SellerRepository.#instance;139 }
140
141 throw new Error('Cannot create another instance of SellerRepository because it is a singleton');
Unexpected return statement in constructor
116 if (!SalesManagerRepository.#instance) {
117 console.log('SalesManagerRepository instance created');
118 SalesManagerRepository.#instance = this;
119 return SalesManagerRepository.#instance;120 }
121
122 throw new Error('Cannot create another instance of SalesManagerRepository because it is a singleton');
Unexpected return statement in constructor
97 if (!ProfileRepository.#instance) {
98 console.log('ProfileRepository instance created');
99 ProfileRepository.#instance = this;
100 return ProfileRepository.#instance;101 }
102
103 throw new Error('Cannot create another instance of ProfileRepository because it is a singleton');
Unexpected return statement in constructor
78 if (!ProductRepository.#instance) {
79 console.log('ProductRepository instance created');
80 ProductRepository.#instance = this;
81 return ProductRepository.#instance; 82 }
83
84 throw new Error('Cannot create another instance of ProductRepository because it is a singleton');
Unexpected return statement in constructor
59 if (!OrderRepository.#instance) {
60 console.log('OrderRepository instance created');
61 OrderRepository.#instance = this;
62 return OrderRepository.#instance; 63 }
64
65 throw new Error('Cannot create another instance of OrderRepository because it is a singleton');
Unexpected return statement in constructor
40 if (!ClientRepository.#instance) {
41 console.log('ClientRepository instance created');
42 ClientRepository.#instance = this;
43 return ClientRepository.#instance; 44 }
45
46 throw new Error('Cannot create another instance of ClientRepository because it is a singleton');
Description
In JavaScript, returning a value in the constructor of a class may be a mistake. Forbidding this pattern prevents mistakes resulting from unfamiliarity with the language or a copy-paste error.
Bad Practice
class A {
constructor(a) {
this.a = a;
return a;
}
}
class B {
constructor(f) {
if (!f) {
return 'falsy';
}
}
}
Recommended
class C {
constructor(c) {
this.c = c;
}
}
class D {
constructor(f) {
if (!f) {
return; // Flow control.
}
f();
}
}