【发布时间】:2021-06-21 01:53:18
【问题描述】:
最近由于一些向后兼容性问题,我们不得不更改 GraalVM API Javascript 引擎的底层实现,这导致了一些我想解决的向后兼容性(问题与纯 JS 相关,所以请耐心等待)。简而言之,我想知道是否有任何方法可以编写这样一个不需要 return 语句的函数,并且表达式在函数声明的末尾就足够了。代码如下:
(function (input) {
// START
const { firstSource } = input
({
"firstDestination": firstSource
})
//END
})({"firstSource": "input"})
START -> END 代码块(这是在任何情况下都不能更改的东西,因为它是用户定义脚本的一部分,有一些合同)。我不是 JS 专家,所以任何提示都会非常有帮助,因为我在 IIFE 等上花了很多时间,但无法提出任何有效的解决方案。
【问题讨论】:
-
所以你想隐式返回
{"firstDestination": firstSource}?据我所知,这是不可能的。 -
您的意思是我们可以在 START 之前和 END 之后添加代码,但不能在两者之间添加代码,并且您希望新代码可以返回用户定义代码的最后一个表达式,对吗?
-
@hackape 正确
-
我猜
eval可以提供帮助。但我需要尝试一下。
标签: javascript function iife