这个问题在这里已经有了答案:
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/