Bug 161464
Summary: | const keyword should be allowed in strict mode | ||
---|---|---|---|
Product: | WebKit | Reporter: | Jamie Pate <jamie.pate> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | ggaren, saam, ysuzuki |
Priority: | P2 | ||
Version: | Safari 9 | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Jamie Pate
The 'const' keyword has 'basic support' from all major browsers according to http://kangax.github.io/compat-table/es6/
```
const foo = 123;
return (foo === 123);
```
Unfortunately, webkit throw an error if the `const` keyword is used in a strict context (via 'use strict'; ).
Steps to Reproduce:
<!DOCTYPE html>
<html>
<head></head>
<body style="white-space: pre-wrap">
<script> window.onerror = function(e) { alert(e);console.log.apply(console, arguments) }; </script>
<script>
/* jshint globalstrict: true */
/* jshint esnext: true */
'use strict';
function x() {
const a = 1;
return a === 1;
}
var result = 'failure';
try {
result = x() ? 'success' : 'failure';
} catch (ex) { }
console.log(result);
alert(result);
</script>
</body>
</html>
Actual Results: "SyntaxError: Unexpected keyword 'const', Const declarations are not supported in strict mode."
Expected Results: "success" (script executed normally)
Platforms: OSX Safari 9.1.2, iOS webkit 602.1, Phantomjs 2.1.1
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Saam Barati
Have you tried a webkit nightly? This has been fixed for a while.