(a || b)::c; a || (b::c); ::obj.prop; (void 0)::func(); (+0)::is(-0); a::(b.c); a::(b.c()); a::b.c(); a::(b.c()()); a::((b.c())()); a::(b.c())(); a::(b.c().d); a::(c().d.e); a::(b()); a::(b::c()); a::(b()::c); a::(b().c::d); a::(b.c::d); a::(b::c.d); a::(b.c::d::e); a::(b::c::d); a::(b::c::d.e); a::((b::c::d).e); a::(void 0); a::(b.c()::d.e); a::(b.c::d.e); a::(b.c::d.e)::f.g; b.c::d.e; (b.c::d).e; (b::c::d).e; new (a::b)(); new f(a::b); f[a::b]; f[a::b()];