56 lines
1.1 KiB
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
2022-02-04 17:28:24 +01:00
[source,javascript]
2021-04-28 16:49:39 +02:00
----
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
2022-02-04 17:28:24 +01:00
[source,javascript]
2021-04-28 16:49:39 +02:00
----
/**
* @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[]