49 lines
1012 B
Plaintext
49 lines
1012 B
Plaintext
== Why is this an issue?
|
|
|
|
There is no good reason to create a new object to not do anything with it. Most of the time, this is due to a missing piece of code and so could lead to an unexpected behavior in production.
|
|
|
|
|
|
If it was done on purpose because the constructor has side-effects, then that side-effect code should be moved into a separate method and called directly.
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,javascript]
|
|
----
|
|
new MyConstructor(); // Non-Compliant
|
|
----
|
|
|
|
=== Compliant solution
|
|
|
|
[source,javascript]
|
|
----
|
|
var something = new MyConstructor(); // Compliant
|
|
----
|
|
|
|
=== Exceptions
|
|
|
|
Immediately dropped new objects inside ``++try++``-statements are ignored.
|
|
|
|
[source,javascript]
|
|
----
|
|
try {
|
|
new MyConstructor();
|
|
} catch (e) {
|
|
/* ... */
|
|
}
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::message.adoc[]
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::comments-and-links.adoc[]
|
|
endif::env-github,rspecator-view[]
|