Thanks. Here’s what I see:

if(typeof window !== "undefined")
{
        theConsole = window.console;
}
else if(typeof console !== "undefined")
{
        theConsole = console;
}

Did you define console in a typedef maybe?

I’m thinking that Falcon should really allow undefined variables when used with 
“typeof”.

Truth be told, I really need to do something like one of these:
if(typeof (process) != 'undefined' && {}.toString.call(process) == '[object 
process]’)
or:
if(typeof process != 'undefined' && process && process.constructor.name == 
"process”)

Of course every reference to process causes a compiler error. I wonder if 
there’s some way to tell the compiler to accept it without complaining…

> On Jul 4, 2017, at 8:54 PM, Josh Tynjala <joshtynj...@gmail.com> wrote:
> 
> I don't remember exactly what I did, but in order to get trace() working in
> Node.js, I had to figure out how to find the console object on window
> versus global. I feel like I remember using typeof, but maybe it was
> something else. Take a look at the implementation of Language.trace() to
> see what I did.
> 
> - Josh
> 
> On Jul 4, 2017 5:26 AM, "Harbs" <harbs.li...@gmail.com> wrote:
> 
>> I’m trying to figure out how to solve this dilemma:
>> 
>> Browsers attach global variables to window.
>> 
>> Node.js attaches globals to global.
>> 
>> I’m trying to check for the existence of a global called process. In JS,
>> you’d generally do that by checking typeof process == ‘undefined’. Falcon
>> does not allow you to do that and complains that process is an undefined
>> property. In the browser you can use window[“process”] == undefined and in
>> node you can (theoretically) use global[“process”] == undefined. I can’t
>> think of a generic way to do this though.
>> 
>> Thoughts?
>> Harbs

Reply via email to