官方文檔: http://kotlinlang.org/docs/reference/js-reflection.html
JavaScript反射(JavaScript Reflection)
目前,在JavaScript平臺,Kotlin不支持完整的反射API!
僅支持::class語法,是一個精簡的KClass(僅支持simpleName和isInstance成員),
通過它可以獲取一個實例對象的類引用 或者 與給定類型的相應(yīng)類引用!
此外, 還可通過KClass.js獲取JsClass類實例對象,
該JsClass實例本身就是對構(gòu)造函數(shù)的引用,常用于與JS函數(shù)(期望構(gòu)造函數(shù)的引用)交互
示例:
class A
class B
class C
inline fun <reified T> foo() {
println(T::class.simpleName)
}
val a = A()
println(a::class.simpleName) // 輸出"A" 一個實例的類
println(B::class.simpleName) // 輸出"B" 給定類型的相應(yīng)類
println(B::class.js.name) // 輸出"B"
foo<C>() // 輸出"C"
簡書:http://www.reibang.com/p/733ed159bb6c
CSDN博客: http://blog.csdn.net/qq_32115439/article/details/76038731
GitHub博客: http://lioil.win/2017/07/24/Kotlin-js-reflection.html
Coding博客: http://c.lioil.win/2017/07/24/Kotlin-js-reflection.html