当前位置: 首页 > 面试题库 >

Node.JS中的解构

李凯定
2023-03-14
问题内容

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

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

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

无济于事。此票证似乎表明V8尚不支持解构。

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


问题答案:

节点v6及更高版本的更新 :节点v6支持解构分配,而无需任何特殊的要求:

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

对于旧版本的node :您可以通过键入以下命令来获取受支持的和声功能列表:

node --v8-options | grep harmony

节点5.x将为您提供:

--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'


 类似资料:
  • 问题内容: 据我了解,有三种调用异步代码的方法: 活动,例如 回调,例如 承诺 我找到了节点承诺库,但是我不明白。 有人可以解释什么是诺言,为什么我要使用它? 另外,为什么将它从Node.js中删除? 问题答案: node.js中的承诺承诺会做一些工作,然后有单独的回调,将为成功和失败以及处理超时而执行。在node.js中考虑promise的另一种方式是,它们是可能仅发射两个事件的发射器:成功和错

  • 本文向大家介绍node.js中的require使用详解,包括了node.js中的require使用详解的使用技巧和注意事项,需要的朋友参考一下 代码注释里已经描述的非常的清晰,这里就不多废话了,直接奉上代码: 小伙伴们是否清楚了node.js中require的使用方法了呢,如有疑问,请留言。

  • 本文向大家介绍了解node.js中的npm脚本,包括了了解node.js中的npm脚本的使用技巧和注意事项,需要的朋友参考一下 到目前为止,我们正在使用以下命令运行App.js- 节点App.js 我们可以使用npm脚本来运行或调试我们的应用程序。 如何启动节点项目 命令是-npm init 上面的命令将启动一个项目,它将询问有关项目名称和启动文件名等的几个问题。 由于我们拥有App.js文件,因

  • 本文向大家介绍详解Node.js中的事件机制,包括了详解Node.js中的事件机制的使用技巧和注意事项,需要的朋友参考一下 前言 在前端编程中,事件的应用十分广泛,DOM上的各种事件。在Ajax大规模应用之后,异步请求更得到广泛的认同,而Ajax亦是基于事件机制的。 通常js给我们的第一印象就是运行在客户端浏览器上面的脚本,通过node.js我们可以在服务端运行javascript. node.j

  • 本文向大家介绍详解Node.js开发中的express-session,包括了详解Node.js开发中的express-session的使用技巧和注意事项,需要的朋友参考一下 什么是session session是保存在服务器端的会话。session的典型应用场景是用户登录某网站之后,将其登录信息放入session,在以后的每次请求中查询相应的登录信息以确保该用户合法。比如购物车等等经典场景 为什

  • 问题内容: 我是一个长期的PHP(CodeIgniter和WordPress)开发人员,直到最近才想学习其他几种语言。我已经着手通过node.js学习Ruby(在Rails和Sinatra上),Python(在Flask框架下)和Javascript。 我决定使用每种语言创建一个我能想到的最基本的应用程序,即URL扩展器。除了node.js和Javascript,我已经设法用每种语言创建了一个工作