Kotlin-488 JavaScriptはKotlinを呼び出します。
2987 ワード
公式文書:http://kotlinlang.org/docs/reference/js-to-kotlin-interop.html
JSプラットフォームでは、kotlinコードはKotlinコンパイラによってJavaScriptクラス/関数/属性に変換されます。したがって、JavaScriptコードでは、自由にコードを呼び出すことができますが、いくつかの注意が必要です。
1.独立JavaScript対象隔離声明(Isolating declarations in a separate JavaScript oject)
JSプラットフォームでは、kotlinコードはKotlinコンパイラによってJavaScriptクラス/関数/属性に変換されます。したがって、JavaScriptコードでは、自由にコードを呼び出すことができますが、いくつかの注意が必要です。
1.独立JavaScript対象隔離声明(Isolating declarations in a separate JavaScript oject)
,Kotlin (module) , Kotlin ;
kotlin myModule, JavaScript myModule kotlin :
// kotlin myModule
fun foo() = "Hello"
// JavaScript , myModule kotlin
alert(myModule.foo());
Kotlin (module) JavaScript (module) , !
,Kotlin , kotlin JavaScript , :
// myModule kotlin , JavaScript
alert(require('myModule').foo());
2.パッケージ構造(Package structure)Kotlin JavaScript,
, JavaScript , :
// kotlin
package my.qualified.packagename
fun foo() = "Hello"
// JavaScript
alert(myModule.my.qualified.packagename.foo());
3.@ Js Name注解(@Js Name annotation) ( ),Kotlin JavaScript / ,
@JsName , JavaScript / ,:
// kotlin "kjs"
class Person(val name: String) {
fun hello() {
println("Hello $name!")
}
@JsName("helloWithGreeting")
fun hello(greeting: String) {
println("$greeting $name!")
}
}
// JavaScript
var person = new kjs.Person("Dmitry"); // "kjs"
person.hello(); // "Hello Dmitry!"
person.helloWithGreeting("Servus"); // "Servus Dmitry!"
// @JsName , , hello_61zpoe$
: 1.Kotlin external @JsName
2. external external , @JsName !
@JsName ( ), @JsName, :
@JsName("new C()") // , new C()
external fun newC()
4.JavaScriptでKotlinタイプ(Representing Kotlin types in JavaScript)を表します。1.Kotlin (kotlin.Long ) JavaScript Number
2.kotlin.Char JavaScript Number,
3.Kotlin (kotlin.Long ), :
fun f() {
val x: Int = 23
val y: Any = x
println(y as Float)
}
4.Kotlin kotlin.Int, kotlin.Byte, kotlin.Short, kotlin.Char, kotlin.Long
5.JavaScript 64 , kotlin.Long JavaScript , Kotlin
6.kotlin.String JavaScript String
7.kotlin.Any JavaScript Object ( new Object(), {} )
8.kotlin.Array JavaScript Array
9.Kotlin ( List, Set, Map ) JavaScript
10.kotlin.Throwable JavaScript Error
11.Kotlin JavaScript
12.Kotlin JavaScript
:http://www.jianshu.com/p/a377d6284f1c CSDNブログ:http://blog.csdn.net/qq_32115349/articale/details/75808450 GitHubブログ:http://lioil.win/2017/07/22/Kotlin-kotlinInJS.html Codingブログ:http://c.lioil.win/2017/07/22/Kotlin-kotlinInJS.html