I'm nearly certain you cannot -- and I don't even believe they're guaranteed to actually ever exist. It would put pretty serious limitations on the optimizer if everything in a block had to exist as written.
On Monday, April 3, 2017 at 8:02:28 PM UTC-7, Ian Bull wrote: > > In J2V8 (our Java bindings for V8 [1]) we provide access to objects > defined in the global scope. > > [1] https://github.com/eclipsesource/j2v8 > > In Java you can write: > > v8.executeScript("var foo = [1,2,3]"); > > V8Array array = (V8Array) v8.get("foo"); > > > v8 in this case is the the isolate, and when we create the isolate we > provide a Persistent<Object> > > that matches the global scope: > > > Handle<Context> context = Context::New(runtime->isolate, NULL, > globalObject); > > runtime->context_.Reset(runtime->isolate, context); > > runtime->globalObject = new Persistent<Object>; > > runtime->globalObject->Reset(runtime->isolate, context->Global()); > > > We can then access the objects using: > > Handle<Object> object = Local<Object>::New(isolate, > *reinterpret_cast<Persistent<Object>*>(objectHandle)); > > Local<String> v8Key = createV8String(env, isolate, key); > > MaybeLocal<Value> result = object->Get(context, v8Key); > > > Where v8Key is the identifier ("foo" in this case), and object is the > globalObject. > > > If we change the JavaScript to: > > "let foo = [1,2,3]" (notice let instead of var) this code returns > Undefined. I'm not a JS expert > > (I just write bindings), but I guess this is because let defines a block > scoped variable, whereas > > var is not. Can we access these blocked scoped (ES6) variables using the > V8 API? I would like > > to expose this to users of the J2V8 bindings. > > > Thanks, > > Ian > -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.