Kotlin-50.JavaScript反射(JavaScript Reflection)

官方文檔: 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.itdecent.cn/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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容