如何在Kotlin中使用一个叫做“val()”的函数? /扩展外部JS类

在尝试使用Kotlin的 Firebase Cloud功能时遇到问题。

数据库触发数据时,使用snapshot.val(); 函数在Javascript中 。 在Kotlin中这是不可能的,因为valKotlin中的关键字。 我设法通过使用来解决这个问题

 snapshot.`val()` 

这样我可以在Kotlin中调用任何名字的函数。 现在我觉得每次都输入这个“重音符号”真的很烦,于是我试着创建一个扩展函数。

我的问题是,我不知道如何引用类型。 在Javascript中 ,访问数据库时是DeltaSnapshotDataSnapshot

如何扩展外部类,或者如何以不同的名称调用它? Typealiases将不起作用,因为它们仅限于类/而不是支持功能。

你有没有尝试跟进?

 external class MyClass { @JsName("val") fun foo() } 

在JavaScript中,类也是一个对象

 snapshot['val'](); 

更通用

 object[functionName](); object[functionName].call(object, ...args); object[functionName].apply(object, args);