Scala.jsのprintln
はconsole.log
ではなくラップされたもので、toString
が呼ばれてしまう。
val obj = js.Dynamic.literal(xxxx = 1)
println(obj) // => [object Object]
js.Dynamic.global.console.log(obj) // => { xxxx: 1 }
おまけ
js.Object
を出力するのにはconsole.log
が適切そうだけど、case classを出力したい場合はprintlnを使うほうが便利。
case class Hoge(xxxx: Int)
val obj = Hoge(1)
println(obj) // => Hoge(1)
js.Dynamic.global.console.log(obj.toString) // => Hoge(1)
case classは何らかの方法でjs側で扱えるものに変換しなけれぼconsole.log
で出力することはできない。js側でObjectとしてそのまま使うことはできない。