Hi Tushar, This is by design (and required by the standard). The reason is case fallthrough, variables declared in one case block need to be visible in others in case control flow falls through into them. Wrapping your case bodies in {} is the usual workaround.
Cheers, Leszek On Mon, 6 Aug 2018, 06:58 , <tusharkhatta...@gmail.com> wrote: > Hello, > > I encountered a scenario and think it might be a potential bug. While > declaring a variable inside the case in a switch statement, its scope is > not just inside the case statement, it is for the whole switch statement. > > For eg. : > > switch(test){ > > case test1 : > let x =1; > break; > > case test2 : > let x = 2; * //error encountered. x already defined in the > scope.* > break; > > } > > Is it designed this way or is it a bug? > > Thnaks and Regards > Tushar Khattar > > > -- > -- > v8-dev mailing list > v8-dev@googlegroups.com > http://groups.google.com/group/v8-dev > --- > You received this message because you are subscribed to the Google Groups > "v8-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to v8-dev+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.