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

节点v6在对象传播上失败

夹谷信鸿
2023-03-14
问题内容

我有一个问题,为什么节点v6.7无法运行此代码

var a = {
    foo: 'bar'
}

var b = {
    ...a,
    my: 'sharona'
}
console.log(b)

有人知道为什么会这样吗?我以为v6支持对象传播。但是我想不是吗?这是我看到的错误:

/home/teselagen/ve/tnrtest.js:6
    ...a,
    ^^^
SyntaxError: Unexpected token ...
    at Object.exports.runInThisContext (vm.js:76:16)
    at Module._compile (module.js:528:28)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.runMain (module.js:590:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

问题答案:

看起来ES6传播运算符仅适用于数组和可迭代对象。它是专为 无法正常工作
的对象:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Spread_operator

相关报价:

只申请可迭代项目

var obj = {"key1":"value1"};
function myFunction(x) {
    console.log(x); // undefined
}
myFunction(...obj);
var args = [...obj];
console.log(args, args.length) //[] 0

尽管MDN文章先前曾建议尝试在对象上使用传播运算符将导致未定义,而不是引发错误。作为本次修订,目前MDN文章讨论了“传播的对象文本”支持

另外,node.js兼容性表声称node.js完全符合带有数组和可迭代对象的散布运算符的规范,但专门指出不支持对象的rest /
spread属性:http : //node.green/#ESNEXT-candidate –stage-3–object-rest-
spread-properties
,至少要等到Node版本8.60为止(此时颜色变为绿色,表明从8.3开始,Node 确实
支持对象散布/静止运算符



 类似资料:
  • 问题内容: 假设我有一个变量,并且想要设置一些默认值。 这两种选择的优点/缺点是什么? 使用对象传播 或使用Object.assign 这就是让我感到奇怪的承诺。 问题答案: 这并不一定是详尽无遗的。 传播语法 优点: 如果编写代码以在没有本机支持的环境中执行,则可以只编译此语法(与使用polyfill相对)。(例如,使用Babel。) 不太冗长。 缺点: 最初编写此答案时,这只是一个建议,而不是

  • 问题内容: 使用groovy从jenkins工作空间获取文件列表在一个节点上失败,但在另一个节点上有效。这是管道中的代码: 输出: 问题答案: 管道在Jenkins主服务器上执行,只有通过启用了远程处理的API的魔力,事情才会在所选节点上发生。因此File以及所有使用File的东西都不起作用,而且永远不会:它总是在master上执行。 来源:https://groups.google.com/fo

  • type String - blob. blobUUID String - 要上传的blob数据的UUID。

  • 除了 Label,Sprite 这些基本的节点对象外,Cocos2d-x 还提供了一些特殊的节点对象,来帮助构建一些高级功能。 也许你想制作一个基于瓦片地图的游戏,也许你想添加粒子效果,也许你想在游戏中添加一个 2D 滚动的边栏,别担心,这些特殊的节点对象能帮助你。

  • 问题内容: 我有一个自定义类,它是一个SKNode,而其中又包含几个SKSpriteNodes。有什么方法可以从我的游戏场景中检测到这些子SKSpriteNode上的触摸? 我工作很快 问题答案: 资料来源:http : //www.raywenderlich.com/84434/sprite-kit-swift-tutorial- beginners

  • 问题内容: 我正在使用节点v0.10.26并表示v4.2.0,而我对节点还很新。在过去三个多小时的时间里,我一直在想着要在节点上使用文件上传表单,这是我的头。在这一点上,我只是试图让req.files不返回未定义。我的观点看起来像这样 这是我的路线 这是我的app.js 我看到了其中包含的内容,应该可以提供帮助,但是如果添加这些行,我什至无法启动服务器。 问题答案: ExpressJS问题: 大多