javascript - Google Apps 脚本在尝试调用 Object.assign() 时引发错误

标签 javascript google-apps-script

这个问题在这里已经有了答案:





Which Edition of ECMA-262 Does Google Apps Script Support?

(2 个回答)


去年关闭。




Google Apps 脚本似乎无法识别函数 Object.assign() .尝试使用它时出现错误:

TypeError: Cannot find function assign in object function Object() { [native code for Object.Object, arity=1] }

我用来测试函数的代码是直接从 MDN 复制的示例:
function myFunction() {
  const object1 = {
    a: 1,
    b: 2,
    c: 3
  };

  const object2 = Object.assign({c: 4, d: 5}, object1); //error is thrown here

  console.log(object2.c, object2.d);
  // expected output: 3 5
}

我将上面的代码直接复制粘贴到 Chrome 开发者控制台中,它运行良好并给出了预期的输出。

我在网上找不到任何东西说应用程序脚本或类似的东西不支持此特定功能。发生什么了?我怎样才能解决这个问题?

最佳答案

Apps 脚本是 不是 (在撰写本文时)Ecmascript 标准的完整实现,目前不原生支持 Object.assign() .但是,您可以利用可以添加所需功能的 polyfill(如果可行)。
Object.assign() 有一个 polyfill 可用在 MDN 上的以下链接:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Polyfill

注:有传言称 Apps Script 将升级(在不久的将来某个时间点)以使用 Chrome 的 V8 引擎,从而支持 EcmaScript 2017。

关于javascript - Google Apps 脚本在尝试调用 Object.assign() 时引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51878527/

相关文章:

javascript - 移动所有列是列表粘贴到工作表一次

JavaScript settimeout 循环返回值

javascript - reduce 方法中的累加器是一个对象,其键名为 total 吗?

javascript - Google 文档 - 实时访问文本更改

javascript - 使用 MailApp.sendEmail 时发生服务器错误

javascript - 如何将 Google Sheet 日期数值转换为 JavaScript 日期?

javascript - 从 google apps 脚本上的 json 发布到 facebook

javascript - 使用 CSS 将 Muses 广播播放器居中

javascript - if 和 else 部分在查询中不起作用

javascript - javascript中的正则表达式获取以特定字符串开头的数组的所有字段