RESOLVED DUPLICATE of bug 163209 219275
block scope + const + hoisted function using the const = ReferenceError
https://bugs.webkit.org/show_bug.cgi?id=219275
Summary block scope + const + hoisted function using the const = ReferenceError
Jakub G (dailymotion)
Reported 2020-11-24 07:25:21 PST
Open the following test page: > https://jg-testpage.netlify.app/safari/const-inside-if.html Its contents for reference: ``` <script> if (true) { const MY_CONST = 'MY_CONST'; function myFunction() { console.log(MY_CONST); } myFunction(); } </script> ``` Expected: > see "MY_CONST" logged Actual: > ReferenceError Other browsers' behavior: > "MY_CONST" is logged in latest Chrome, Firefox, EdgeLegacy 18
Attachments
Jakub G (dailymotion)
Comment 1 2020-11-24 07:26:18 PST
I repro the issue on all stable versions of Safari from 14.0 down to 10.1 (didn't test more)
Jakub G (dailymotion)
Comment 2 2020-11-27 09:35:44 PST
Just a small update: it seems to work fine in Safari in strict mode, but not in sloppy mode. https://jg-testpage.netlify.app/safari/const-inside-if.html https://jg-testpage.netlify.app/safari/const-inside-if-strict.html Chrome 50+: OK both strict/sloppy mode Firefox 50+: OK both strict/sloppy mode Safari: OK strict mode, KO in sloppy mode
Radar WebKit Bug Importer
Comment 3 2020-12-01 07:26:14 PST
Ross Kirsling
Comment 4 2020-12-01 17:21:12 PST
Thanks for the report -- Annex B.3.3 non-conformance has been deprioritized for a long time, but I think there is intention to correct this in the near future. *** This bug has been marked as a duplicate of bug 163209 ***
Note You need to log in before you can comment on or make changes to this bug.