問題タブ [nashorn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Java 8 Nashorn (JavaScript) modulo が 0 (整数) ではなく 0.0 (倍精度) を返すのはなぜですか?
次のコード サンプルを検討してください。
次の出力が生成されるのはなぜですか?
eval = 0.0
eval.getClass() = クラス java.lang.Double
結果の型はjava.lang.Double
、どちらが変ですか。
剰余が 0 以外の場合、正しく返されます。java.lang.Integer
たとえば、 1`5%2
が返されますjava.lang.Integer' with value
。
0だけはなんとなく特別。
Firefox 32.0.2 (FindBugs コンソール) で同じ JavaScript 式を試すと、正常に動作し、プレーンな 0 が返されます。
Nashorn に Double ではなく Integer 型を返すように強制する方法はありますか?
java - Nashornには「収量」に相当するものがありますか?
JavaScriptのyield
キーワードは、Java 8 の Nashorn エンジンの特定のスクリプト タスクに非常に便利です。(ES6 にある) の最先端性を考えると、yield
おそらく Nashorn には含まれていませんが、同様のものが利用できるかどうかに興味がありました。
java - Java 8 Nashorn JJS – JavaScript コンソール
専門家への質問: 最新の Java 8 は、Javascript エンジン Nashorn を提供します。単に解釈する Mozilla Rhino とは異なり、invokedynamic の魔法により、javascript は JVM バイトコードにコンパイルされることが知られています。
しかし、JJS (javascript コンソール) はどうでしょうか。その場でコンパイルはありますか?それともただの解釈ですか?
ありがとう!
java - Nashorn でプリミティブを直接使用する
ユーザー スクリプトを使用してエクスペリエンスの大部分をカスタマイズするプログラムを開発しています。設計の結果の 1 つは、int/double/float から Number への変換とその逆の変換が常に行われるという事実です。この変換は大量のオーバーヘッドを引き起こすため、望ましくありません。例えば:
Javascript で参照されるクラス:
Javascript (Nashorn で実行され、FromJava のインスタンスが置かれている)
不要なボクシングを防ぐ方法はありますか、それとも現在の Nashorn 実装の必要なオーバーヘッドですか?
javascript - オブジェクトのメンバー関数をグローバル関数として公開する
たとえば、私は持っています:
をグローバル関数としてエクスポートabc
して、ではなく直接呼び出す方法はありますか?def
abc()
n.abc()
これに対する私のコンテキストは、Rhino/Nashorn スクリプト エンジンを使用しており、グローバル関数を提供する「グローバル」オブジェクトを挿入したいと考えています。