undefined when not in a 
browser).Prolog instance.
Prolog values are translated according to the rules in
section 13.2.3.2 
and the result is translated back to Prolog according to the rules in section 
13.2.3.1. Because callables are translated to function calls, object 
properties or global variables we need an escape to pass them as data. 
This is achieved using the prefix operator #String objects rather than Prolog.String 
instances. Below are some examples:
?- Res := myfunc([1,2,3]).
?- Max := 'Math'.max(10, 20).
?- Out := document.getElementById('output').
?- Par := document.createElement(p),
   Par.textContent := #Text.
?- Par.textContent := "aap" + " " + "noot".
Some JavaScript expressions are not implemented as functions. The following “functions” are handled directly by the implementation.
Obj.constructor.name.Boolean indicating whether the object is an 
instance of ClassName. Note that the class name must be an 
atom and as JavaScript class names normally start with a capital, the 
names typically need to be quoted using single quotes. For 
example:
?- W := window, T := W.instanceof('Window').
W = <js_Window>(1),
T = true.
-(Any)!(Any)+(Any, Any)-(Any, Any)*(Any, Any)/(Any, Any)&(Any, Any)|(Any, Any)&&(Any, Any)||(Any, Any)A := &&(true,false). || 
is not a Prolog atom, so logical disjunction gets A := '||'(false,false).