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
Have you tried a webkit nightly? This has been fixed for a while.