scheme2jsの、javascriptのdot記法との対応。
var d = new Date(); alert(d.toString());
をscheme2jsで書くには、
(let ((d (js-new Date))) (alert (d.toString)))
である。
同様に、
a = new Array ("A","B","C"); a.join("&");
は、
(let ((a (vector "A" "B" "C"))) (a.join "&"))
(Schemeのvectorは、JavascriptのArrayに翻訳される。)
である。
Schemerとしては、(d.toString)や(a.join "&") はちょっと心配だ。
ちなみに、
JavaScriptの
x.y.z = a.b
は、Scheme2jsでは、
(js-field-set! (js-field x 'y) 'z (js-field a 'b))
とも、
(set! x.y.z a.b)
とも書ける。
これの延長で、a.join が、 (js-field a 'join) で使えるのか?
調査中。
なんだか使えないっぽい。
とりあえず、javascriptの関数やメソッド呼び出しが簡単に行えることがわかったので、実用性は十分だと感じた。
これなら、SRFIがなくてもどうにかなる。