Fedora 32 は Gjs が ES2019 にフル対応した。
いや、フル対応した SpiderMonkey にアップデートというべきか。
JavaScriptの ES2019で追加された新機能まとめ – Qiita
更に BigInt にも対応、素晴らしい。
Python 屋としては Number の拡張はできなかったのかと言いたい所だけど。
プライベートフィールド等は駄目でした。
そんなことより Gjs の開発者はかなりがんばったようだ。
ClutterImage PyGObject/Gjs | Paepoi Blog
まさかの PyGObject より速くなるとは、誤差の範囲とはいえ。
何をやったか解らないけどコレで Gjs を諦める理由が減った。
Gjs: GdkPixbuf Memory leak | Paepoi Blog
この意味不明メモリリークもやっと起こらなくなった。
やはりメンテを続けていると良くなっていくんだよね。
ただこの実験は Python のガベージコレクションの凄さを思い知るだけだが。
メンテを続けた年期の差ってことで。
ところで JavaScript といえば。
/usr/libexec/webkit2gtk-4.0/jsc
が無くなった、Nautilus の検索機能でも見つからない。
けれど gir に JavaScriptCore-4.0.typelib は残っている。
#!/usr/bin/python import gi gi.require_version('JavaScriptCore', '4.0') from gi.repository import JavaScriptCore context = JavaScriptCore.Context() out = context.evaluate('3 + "あ" + 4', -1) print(out.to_string()) //=> '3あ4'
これは動く。
SpyderMonkey, V8 同様に実体が無くライブラリだけになったみたい。
実験にしか使っていなかったし mac も持っているから別にイイか。