什么决定了可用的 ECMAScript 版本?

What determines the available ECMAScript version?

我被指派去调试一个旧的 Visual Basics 网站,在该网站上我们只能访问 JavaScript。

问题是到处都使用了"With"语句,有些甚至包括"remove()"。

这让我想知道,是浏览器决定了 ECMAScript 的可用版本,还是其他原因?因为如果它是浏览器,那么我想我可以使用 "let" 来解决我猜测 "with" 已被用来解决的大部分范围问题。

编辑: 代码中如何使用 with 语句的示例(可以在注释中找到上下文):

function firstFunction(input1) {

    var someVariable = document.getElementById('someId');

    var i = someVariable.options.length;

    with (someVariable) {
        options[i] = new Option();
        options[i].text = input1.Name;
        options[i].value = input1.Id + ';' + input1.Type;
        i++;
    }
}

function secondFunction(input2) {

    var someVariable = document.getElementById('someId');

    var i = someVariable.options.length;

    with (someVariable) {
        options[i] = new Option();
        options[i].text = input2.PrettyName;
        options[i].value = input2.Name;
        i++;
    }
}

这是浏览器使用的 JavaScript 引擎:Chrome、Chromium 和 Opera 中的 V8; Firefox 中的 SpiderMonkey; IE8 中的 JScript;以及 IE9+ 和 Edge 中的 Chakra(IE9+ 中的 Chakra 版本非常过时;Edge 的版本非常新)。