Jasmine 是否支持 javascript with =>(箭头)

Does Jasmine support javascript with => (arrow)

Jasmine 似乎不支持=>(如果我自己的发现是正确的)。

这是我的 logic.js 文件中的一个片段

var myObj = new function(){
    this.getSomething = function(input){
        _myLocalArray.forEach(item =>{
            //left blank
        });
    };
};

我的测试是

/// <reference path="../../Ui/Content/Javascript/logic.js"/>
/// <reference path="jasmine.js" />

describe("My Tests", function () {

it("Description etc", function () {
    var result = myObj.getSomething("some input"); // FAILS HERE
    expect(result.length).toBe(0);
});
...

它失败了

JavaScript critical error at line 61, column 37 in file:///d:/github/Ui/Content/Javascript/logic.js\n\nSCRIPT1002: Syntax error

第 61 行在上面的 th3e 代码片段中显示为 //FAILS HERE

然后在 Jasmine 中抛出异常

myObj is undefined

如果我注释掉逻辑中的代码(我使用 => 的地方),那么代码执行时不会出现这些错误

我做错了什么?不支持=>?我在文档中找不到任何东西来证实这一点。

编辑

我没有使用 nodeJs。我使用的是原版 javascript、visual studio 2017、Jasmine 和 Chutzpah。

这很重要:

I'm using vanilla javascript, visual studio 2017, Jasmine and Chutzpah.

首先,没有原版javascript!或者至少,node 并不意味着你不使用 vanilla javascriptvanilla javascriptonly 意思是你不使用任何 framework/library。然而你总是需要一些东西来执行你的javascript。浏览器或其他类似 node 的东西。但是还有其他选项,例如 NashornGraalVMDuktape.

Jasmine 是一个库,写的是Javascript。所以 Jasmine 与支持的 Javascript 功能无关。然而 Chutzpah 有。那么 Chutzpah 是如何执行你的 javascript 的呢?那么,readme 回答了这个问题:

Chutzpah supports the QUnit, Jasmine and Mocha testing frameworks. Chutzpah uses the PhantomJS headless browser to run your tests.

这是你的答案:Phantomjs does not support arrow functions!

实际上 phantomjs is dead 应该被 Chrome Headless 之类的东西取代。 Chutzpah 上的 activity 看起来也不是很有前途。因此,我只能建议您暂时离开 Chutzpah,并使用一些使用 Chrome Headless under the hood 的东西。