Kotlin の Singleton object は JavaScript でどう表現されるか

Kotlin

fun main(args: Array<String>) {
    println(Klass.say())
}

object Klass {
    fun say():String {
        return "Hello"
    }
}

コンパイルされた JavaScript (抜粋)

function main(args) {
  println(Klass_getInstance().say());
}

function Klass() {
  Klass_instance = this;
}
Klass.prototype.say = function () {
  return 'Hello';
};

var Klass_instance = null;
function Klass_getInstance() {
  if (Klass_instance === null) {
    new Klass();
  }
  return Klass_instance;
}
Last updated on March 9, 2017