package com.winterbe.java8.samples.nashorn; import com.winterbe.java8.samples.lambda.Person; import jdk.nashorn.api.scripting.NashornScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; /** * @author Benjamin Winterberg */ public class Nashorn8 { public static void main(String[] args) throws ScriptException, NoSuchMethodException { NashornScriptEngine engine = (NashornScriptEngine) new ScriptEngineManager().getEngineByName("nashorn"); engine.eval("load('res/nashorn8.js')"); engine.invokeFunction("evaluate1"); // [object global] engine.invokeFunction("evaluate2"); // [object Object] engine.invokeFunction("evaluate3", "Foobar"); // Foobar engine.invokeFunction("evaluate3", new Person("John", "Doe")); // [object global] <- ??????? } }