Scala.js/private fieldはJS側に露出できない?
Scala.jsで(JSの)objectを定義できる
code:scala
object Foo extends js.Object:
val foo = 42
code:js
Foo
// => { foo: 42 } に見える
private fieldはobjectに"埋め込む"ことができるが、JS側からは不可視になる
code:scala
object Bar extends js.Object:
val foo = 42
private val bar = 666
code:javascript
Bar
// => { foo: 42 } に見える
ここで、private val barにアクセスする方法はJS側からは見えない
当然、private val barにJS側からアクセスすることはできない
code:javascript
Bar.bar // => undefined
無理矢理呼ぼうとしても当然ダメ
code:result
error: Cannot read properties of undefined (reading 'Symbol(bar)')