【问题标题】:Three dots on JavaScript problem while creating new objects that inherit from a existing one创建从现有对象继承的新对象时 JavaScript 问题的三个点
【发布时间】:2021-07-05 22:36:31
【问题描述】:

假设我有

const adrian = {
    fullName: 'Adrian Oprea',
    occupation: 'Software developer',
    age: 31,
    website: 'https://oprea.rocks'
};

const bill = {
    ...adrian,
    fullName: 'Bill Gates',
    website: 'https://microsoft.com'
};

console.log(bill.fullName)

我在一个网站 (https://oprearocks.medium.com/what-do-the-three-dots-mean-in-javascript-bc5749439c9a) 上读到,...adrian, 将赋予对象 billadrian 相同的属性。但是当我尝试执行代码时,出现了这个错误:

    ...adrian,
    ^^^

SyntaxError: Unexpected token ...
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:389:7)
    at startup (bootstrap_node.js:149:9)

我是否缺少一些东西来完成这项工作?

【问题讨论】:

  • 你在哪里运行这段代码?
  • 在使用节点的 VSCode 和 Codecademy 页面上。
  • 什么版本的节点?
  • 我使用的是node v6.11.2,可能需要更新?
  • 是的。不支持该功能的旧版本。您可以在此页面上的此处打开浏览器开发工具控制台,将该代码粘贴到其中并在控制台日志中查看预期结果(假设您使用的是现代浏览器)

标签: javascript object syntax


【解决方案1】:

问题出在我在VSCode中使用的节点版本上,基本上我只需要从v6.11.2(很久以前,lol)更新到v14.17.3,再次感谢@charlietfl

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 2017-10-24
    • 1970-01-01
    相关资源
    最近更新 更多