在 Node.JS 中解构 [英] Destructuring in Node.JS

查看:37
本文介绍了在 Node.JS 中解构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个最近的视频声称 EMCAScript 6 解构已经在 Node.JS 中部分实现.我尝试了各种示例(使用 v0.10.12 和 --harmony 标志),例如

This recent video claims that EMCAScript 6 destructuring is already partially implemented in Node.JS. I have tried various examples (using v0.10.12 and the --harmony flag), such as

var [a, b] = [1, 2];

var {a: a, b: b} = {a: 1, b: 2};

无济于事.这张票似乎表明 V8 尚不支持解构.

to no avail. This ticket seems to suggest that destructuring is not yet supported in V8.

解构真的在 Node.JS 中部分实现了吗?我可以使用哪些代码片段?

Is destructuring really partially implemented in Node.JS? What are snippets of code I can play with?

推荐答案

节点 v6 和更新版本的更新:节点 v6 支持解构赋值,无需任何特殊需要:

Update for node v6 and newer: Node v6 supports destructuring assignment without anything special needed:

var [a, b] = [1, 2];

对于旧版本的节点:您可以通过键入以下内容获取支持的和声功能列表:

For older versions of node: You can get the list of supported harmony features by typing:

node --v8-options |grep 和谐

node 5.x 会给你:

node 5.x will give you:

--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 已在 Node 4.1 中添加.目前,您需要传递 --harmony_destructuring 标志以启用该功能:

The flag you need, --harmony_destructuring, was added in Node 4.1. Currently, you'll need to pass the --harmony_destructuring flag to enable the feature:

$ node --harmony_destructuring
> var {foo} = {foo: 'bar'};
undefined
> foo
'bar'

这篇关于在 Node.JS 中解构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆