2022-02-04 16:28:24 +00:00

56 lines
1.1 KiB
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
[source,javascript]
----
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
[source,javascript]
----
/**
* @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::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::message.adoc[]
include::parameters.adoc[]
'''
== Comments And Links
(visible only on this page)
include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]