44 lines
916 B
Plaintext
Raw Normal View History

2021-04-28 16:49:39 +02:00
The ``++new++`` keyword should only be used with objects that define a constructor function. Use it with anything else, and you'll get a ``++TypeError++`` because there won't be a constructor function for the ``++new++`` keyword to invoke.
2021-04-28 16:49:39 +02:00
== Noncompliant Code Example
----
function MyClass() {
this.foo = 'bar';
}
var someClass = 1;
var obj1 = new someClass; // Noncompliant;
var obj2 = new MyClass(); // Noncompliant if considerJSDoc parameter set to true. Compliant when considerJSDoc=false
----
2021-04-28 16:49:39 +02:00
== Compliant Solution
----
/**
* @constructor
*/
function MyClass() {
this.foo = 'bar';
}
var someClass = function(){
this.prop = 1;
}
var obj1 = new someClass; // Compliant
var obj2 = new MyClass(); // Compliant regardless of considerJSDoc value
----
ifdef::rspecator-view[]
== Comments And Links
(visible only on this page)
include::comments-and-links.adoc[]
endif::rspecator-view[]