[ 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)