Comments (3)
Hi madoar,
thanks for your question. As of RC5 (published early August), Java.extend
will be available by default, outside Nashorn compatibility mode.
The syntax extension around new Interface|AbstractClass(fn|obj)
is still only available in Nashorn compatibility mode. Users writing new code should be able to use Java.extend
for all cases; we will continue to monitor this.
Best,
Christian
from graaljs.
Thank you for the information!
This leads me to another question.
With Graal.js supporting the "new" class syntax of ECMAScript 6, I'm asking myself if it's planned to support this syntax for the extension of Java classes.
In my eyes, it would be ideal if it's possible to extend a Java class AbstractClass
by using:
class ConcreteClass extends AbstractClass {
...
}
or
class ConcreteClass extends Java.type("AbstractClass") {
...
}
from graaljs.
@madoar I like the idea of using the class syntax, but I have some reservations about mixing JS and Java class semantics. It raises some questions about how class evaluation has to be changed to support this, and you'll only really know at runtime if you're extending a Java class.
We'll consider it in the future, but for the time being we'll only support the "Nashorn way" (that comes from a time when JS didn't have classes yet).
from graaljs.
Related Issues (20)
- Get (heap) memory usage information
- "ab".split(/(?:ab)*/) crashes graaljs HOT 1
- Losing double type when returning 1.0 from JS HOT 1
- Polyglot version compatibility check failed on GraalVM for JDK 22 Community 22.0.0
- Expose wrapPromise and Thenable in the GraalJS public API
- Polyglot options not working consistently with JS HOT 2
- No org.graalvm.js:js version 24.0.0 on Maven Central? HOT 4
- No language for id regex found, Supported languages are: [js] HOT 2
- Support for Node.js `http` and `fs` modules in GraalJS HOT 1
- Can not resolve NodeJS Promise Concurrently from Java Side HOT 6
- GraalJS should support Ahead-of-Time(AOT) compilation to Native binary like GraalPy.
- nodejs c-addon seems to leak HOT 1
- Provide the WinterCG minimum common API HOT 1
- Does not find values from the global context HOT 4
- 'GraalJSEngineFactory could not be instantiated' on JDK22 HOT 1
- Extending a Java class in Javascript without using Java.extend HOT 4
- Add instructions for enabling usage of Java
- Wildcards in classpath do not work anymore HOT 1
- "10".match(/a*/g) crashes graaljs HOT 3
- Graal JS Script Engine is very slow compared to Rhino HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graaljs.