The fact that JavaScript is not a strongly typed language allows developers a lot of freedom, but that freedom can be dangerous if you go too far with it. 


Specifically, it is syntactically acceptable to invoke any expression as though its value were a function. But a ``++TypeError++`` may be raised if you do.


== Noncompliant Code Example

----
foo = 1;
foo();   // Noncompliant; TypeError

foo = undefined;
foo();  // Noncompliant; TypeError
----


ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)

include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]
