English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo de Java

Java Array

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Queue (cola)

Conjuntos de Mapa de Java

Conjuntos de Java

Java Entrada/Salida (I/O)/O)

Reader de Java/Writer

otros temas de Java

Java 8 Nashorn JavaScript

Java 8 Nuevas características

Nashorn es un motor de javascript.

El motor de JavaScript Nashorn en Java 15 ya no está disponible.

Esto ya no está disponible en Java 11 Se marca como:

@deprecated (forRemoval = true)

Desde JDK 1.8 Desde JDK 1.6, JDK1.7) para convertirse en el motor de JavaScript integrado en Java. Nashorn admite completamente ECMAScript 5.1 especificaciones y algunas extensiones. Utiliza una base JSR 292 que incluye en JDK 7 La característica nueva del lenguaje introducida en JDK

En comparación con la implementación anterior de Rhino, esto trae 2 hasta  10un aumento de rendimiento múltiple.

jjs

jjs es una herramienta de línea de comandos basada en el motor Nashorn. Acepta algunos códigos fuente de JavaScript como parámetros y ejecuta estos códigos.

Por ejemplo, creamos un archivo sample.js con el siguiente contenido:

print('¡Hola Mundo!');

Abra la consola e ingrese el siguiente comando:

$ jjs sample.js

El resultado de salida del programa es:

¡Hola Mundo!

Programación interactiva jjs

Abra la consola e ingrese el siguiente comando:

$ jjs
jjs> print("¡Hola, Mundo!")
¡Hola, Mundo!
jjs> quit()
>>

Pasar parámetros

Abra la consola e ingrese el siguiente comando:

$ jjs -- a b c
jjs> print('Letras: ') +arguments.join(", "))
Letras: a, b, c
jjs>

Llamar a JavaScript en Java

Al usar ScriptEngineManager, el código JavaScript se puede ejecutar en Java, ejemplo a continuación:

import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.ScriptException;
 
public class Java8Tester {
   public static void main(String args[]){
   
      ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
      ScriptEngine nashorn = scriptEngineManager.getEngineByName("nashorn");
        
      String name = "w3codebox";
      Integer result = null;
      
      try {
         nashorn.eval("print('" + name + ")");
         result = (Integer) nashorn.eval("10 + 2");
         
      catch(ScriptException e){
         System.out.println("Error al ejecutar el script: ");+ e.getMessage());
      }
      
      System.out.println(result.toString());
   }
}

Ejecutar el siguiente script, el resultado de salida es:

$ javac Java8Tester.java 
$ java Java8Tester
w3codebox
12

Llamar a Java en JavaScript

El siguiente ejemplo muestra cómo referenciar clases Java en JavaScript:

var BigDecimal = Java.type('java.math.BigDecimal');
function calculate(amount, percentage) {
   var result = new BigDecimal(amount).multiply(
   new BigDecimal(percentage)).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_EVEN);
   
   return result.toPlainString();
}
var result = calculate(568000000000000000023,13.9);
print(result);

Usamos el comando jjs para ejecutar el script anterior y obtener los resultados siguientes:

$ jjs sample.js
78952000000000002017.94

Java 8 Nuevas características