是否可以使用插值字符串模板调用 kotlin 的 js 函数?

Is it possible to call kotlin's js function with an interpolated string template?

现在,IntellJ 显示一条红色波浪线:参数必须是字符串常量

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();
}

不,不是。但是您可以在 js:

的代码参数中使用 name
private fun fromEnv(name: String) {
     js("process.env[name]")
}

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

fun jsTypeOf(o: Any): String {
    return js("typeof o")
}