[
https://issues.apache.org/jira/browse/JEXL-367?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17530490#comment-17530490
]
Dmitri Blinov commented on JEXL-367:
------------------------------------
[~henrib] In short, in JS world fat arrow functions have their own ‘this’
scope, and don’t have bindings to ‘arguments’. There are also restrictions to
use some operators etc. I think it’s pretty much documented in JS reference[JS
reference|[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions]|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions].]
The point is - arrow functions are not syntactic sugar for usual functions in
JS. In JEXL world the differences above may not apply, since, for example,
there is no ‘this’, yet.
But as a thought - if we seriously decided to chase JS, IMO there are plenty of
other missing features - operators, statements, constructor calls, varargs. For
all it worth, I have had even added them in my fork the other day, so if anyone
is interested please have a look.
> Deprecate -> and support =>
> ---------------------------
>
> Key: JEXL-367
> URL: https://issues.apache.org/jira/browse/JEXL-367
> Project: Commons JEXL
> Issue Type: Wish
> Affects Versions: 3.2.1
> Reporter: Hussachai Puripunpinyo
> Assignee: Henri Biestro
> Priority: Major
>
> The JEXL code surprisingly looks a lot like Javascript. I think this change
> is a good transition for folks to update the code, and it's pretty fine if
> they can tolerate using the deprecate syntax and don't mind seeing a warning
> log pop up every time.
> I'd like to propose supporting => and deprecate ->.
> The reasons are
> - JavaScript becomes very popular and many people are familiar with it.
> - JEXL is more like for a quick short script. In many scenarios, the target
> audiences are not a programer. They often mistake a language as a JavaScript
> (from my experience).
> - JEXL syntax already looks a lot like JavaScript
> -- var for variable declaration (Java added in Java 10, but JavaScript
> supports this from the beginning)
> -- The function keyword
> -- Implicit type coercion
> -- Ternary operator
> The proposed change.
> * Support => in addition to ->
> * Deprecate -> and show a warning log when it's used.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)