Деструктурирование в узле.JS
Это последнее видео утверждает, что деструктурирование EMCAScript 6 уже частично реализовано в узле.JS. Я пробовал различные примеры (используя v0.10. 12 и --harmony флаг), такие как
var [a, b] = [1, 2];
и
var {a: a, b: b} = {a: 1, b: 2};
безрезультатно. этот билет похоже, что деструктурирование еще не поддерживается в V8.
деструктурирование действительно частично реализовано в узле.Джей? Какие фрагменты кода я могу играть с чем?
3 ответов:
обновление для узла v6 и новее: узел v6 поддерживает назначение деструктурирования без каких-либо специальных необходимых:
var [a, b] = [1, 2];для более старых версий узле: вы можете получить список поддерживаемых функций гармонии, введя:
node --v8-options | grep harmonyузел 5.х:
--es_staging (enable all completed harmony features) --harmony (enable all completed harmony features) --harmony_shipping (enable all shipped harmony fetaures) --harmony_modules (enable "harmony modules" (in progress)) --harmony_regexps (enable "harmony regular expression extensions" (in progress)) --harmony_proxies (enable "harmony proxies" (in progress)) --harmony_sloppy_function (enable "harmony sloppy function block scoping" (in progress)) --harmony_sloppy_let (enable "harmony let in sloppy mode" (in progress)) --harmony_unicode_regexps (enable "harmony unicode regexps" (in progress)) --harmony_reflect (enable "harmony Reflect API" (in progress)) --harmony_destructuring (enable "harmony destructuring" (in progress)) --harmony_default_parameters (enable "harmony default parameters" (in progress)) --harmony_sharedarraybuffer (enable "harmony sharedarraybuffer" (in progress)) --harmony_atomics (enable "harmony atomics" (in progress)) --harmony_simd (enable "harmony simd" (in progress)) --harmony_array_includes (enable "harmony Array.prototype.includes") --harmony_tostring (enable "harmony toString") --harmony_concat_spreadable (enable "harmony isConcatSpreadable") --harmony_rest_parameters (enable "harmony rest parameters") --harmony_sloppy (enable "harmony features in sloppy mode") --harmony_arrow_functions (enable "harmony arrow functions") --harmony_new_target (enable "harmony new.target") --harmony_object_observe (enable "harmony Object.observe") --harmony_spreadcalls (enable "harmony spread-calls") --harmony_spread_arrays (enable "harmony spread in array literals") --harmony_object (enable "harmony Object methods")флаг вам нужна,
--harmony_destructuring, был добавлен в узел 4.1. В настоящее время вам нужно будет пройти--harmony_destructuringфлаг для включения особенность:$ node --harmony_destructuring > var {foo} = {foo: 'bar'}; undefined > foo 'bar'
недавно вышедшего узел.в JS V6 объемом использует версию 5.0 V8, которая поддержка 93% из характеристик языка ES2015 (даже 96% в v6.1).
назначения деструктурирования теперь можно считать стабильными и могут использоваться без каких-либо флагов.
The таблица совместимости ES6 показывает, что деструктурирование не поддерживается ни в Chrome 45, ни в узле v4.
Comments