2021-04-28 18:08:03 +02:00

37 lines
781 B
Plaintext

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.
== 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
----
== 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
----