1

现在,IntellJ 显示了一条红色波浪线:Argument must be a string constant

private fun fromEnv(name: String) {
    return js("process.env[${name}]") as Unit
}

我已经搜索过,但我没有找到任何类似的问题。


由@alexey-romanov 解决

这很简单:

private fun fromEnv(name: String) {
    return js("process.env[${name}]") as Unit
}

编译为:

function fromEnv(name) {
  var tmp$;
  return typeof (tmp$ = process.env[name]) === 'string' ? tmp$ : throwCCE();
}
4

1 回答 1

1

不,不是。但是您可以name在代码参数中使用js

private fun fromEnv(name: String) {
     js("process.env[name]")
}

o此示例与文档的Inline Javascript部分中变量的使用几乎相同:

fun jsTypeOf(o: Any): String {
    return js("typeof o")
}
于 2019-12-23T16:18:32.767 回答