Node.js: Как включить не строгий или ECMASCRIPT3 в движке V8? - PullRequest
1 голос
/ 02 января 2012

Я считаю, что V8, лежащий в основе Node.js, поддерживает строгий режим или ES5 по умолчанию.

Можем ли мы включить нестрогий или ECMASCRIPT 3 в движке V8?в Chrome (V8) см. таблицу совместимости .

Но некоторым разработчикам (включая меня) все еще нравится ES3, можем ли мы иметь эту опцию?

1 Ответ

5 голосов
/ 02 января 2012

Только не включайте строку "use strict" в ваш код.V8 поддерживает строгий режим, он не использует его, если вы не указали его (т.е. он следует спецификации ES5).

Сравните следующие сценарии:

Ввод:

foo = "Hello";
console.log(foo);

Выход:

quentin@workstation:tmp # node test.js
Hello

и

Вход:

"use strict";
foo = "Hello";
console.log(foo);

Выход:

quentin@workstation:tmp # node test.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
ReferenceError: foo is not defined
    at Object.<anonymous> (/Users/quentin/tmp/test.js:2:5)
    at Module._compile (module.js:432:26)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Array.0 (module.js:470:10)
    at EventEmitter._tickCallback (node.js:192:40)
...