为啥 Firefox 给出语法错误,class is a reserved identifier?

Posted

技术标签:

【中文标题】为啥 Firefox 给出语法错误,class is a reserved identifier?【英文标题】:Why does Firefox give a syntax error, class is a reserved identifier?为什么 Firefox 给出语法错误,class is a reserved identifier? 【发布时间】:2016-03-28 07:25:46 【问题描述】:

在 Firefox 43 上使用以下代码打开名为 index.html 的文件会出现以下错误:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <script>
    "use strict";
    class RangeIterator 
    </script>
    </head>
    <body>
    </body>
    </html>

我在控制台中看到以下错误:

SyntaxError: class is a reserved identifier

知道为什么会出现这个错误吗?

【问题讨论】:

快速提示:使用此表 (kangax.github.io/compat-table/es6) 检查浏览器、编译器等中的 ES6 功能兼容性。 【参考方案1】:

根据Can I Use ES6 classes 支持form 45 版本的Firefox。如果 45 版本也抛出类似 SyntaxError: class is a reserved identifier 的错误,那么最好转换为 ES5。


Babel 是一个 javascript 编译器。使用它将ES6 转换为ES5 格式BABEL JS(或)ES6Console

ES2015 classes « 检查下面的Converted 代码,从ES6ES5

// ES6                              ES5
class Shape                    "use strict";
  constructor(color) 
    this._color = color;        function _classCallCheck(instance, Constructor) 
                                  if (!(instance instanceof Constructor)) 
                                    throw new TypeError("Cannot call a class as a function");
                                 
                               
                                var Shape = function Shape(color) 
                                  _classCallCheck(this, Shape);
                                  this._color = color;
                                ;

@见

Difference between function and class Function Hoisting by the JavaScript interpreter’s

【讨论】:

【参考方案2】:

根据this,Firefox 版本

【讨论】:

这很简单。谢谢。

以上是关于为啥 Firefox 给出语法错误,class is a reserved identifier?的主要内容,如果未能解决你的问题,请参考以下文章

为啥对非指针结构进行类型转换会给出语法错误

为啥当我的着色器文件的所有信息都正确读入字符串并且语法正确时,OpenGL会给出语法错误

为啥我会收到语法错误:SassError:预期的“”?

为啥我会出现此错误:“数组”第 2 行或附近的语法错误:值数组?

在 Firefox 上,CORS 请求给出错误“:”(冒号)

我的 React 应用程序代码不断给出错误“无法读取未定义的属性 'fname'”,我不明白为啥