Nice work, Josh!

I just tried with
var test:Function = () => true;

Is that supposed to be ():Boolean => true ?

fyi if it is, I did not see a warning (I don't think)

I assume you are simply outputting the same 'conversion' for swf in the js
output at the moment ?




On Fri, Jul 18, 2025 at 2:37 PM Harbs <harbs.li...@gmail.com> wrote:

> Awesome! :-)
>
> > On Jul 18, 2025, at 1:48 AM, Josh Tynjala <joshtynj...@bowlerhat.dev>
> wrote:
> >
> > Hey folks,
> >
> > I just wanted to highlight a new AS3 language feature that I have
> recently
> > implemented in the Royale compiler: arrow function expressions!
> >
> > If you're not familiar, these were added to JavaScript a while back. Here
> > are the MDN docs for the JS version:
> >
> >
> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
> >
> > Basically, they have two main advantages.
> >
> > 1. They have shorter syntax.
> > 2. They can use the `this` variable from the enclosing function's scope.
> >
> > Here's a simple example:
> >
> > var func:Function = (name:String) => "Hello, " + name;
> > func("Royale");
> >
> > - No function keyword (uses => instead)
> > - Optional return type (it may be inferred from the return value)
> > - Optional braces around the function body, if it contains a single
> > expression
> > - If braces are omitted, no need for a `return` keyword
> >
> > You could rewrite the same arrow function like this, without everything
> > omitted:
> >
> > var func:Function = (name:String):String => {
> >    return "Hello, " + name;
> > }
> >
> > Technically, this is valid too:
> >
> > var func:Function = name => "Hello, " + name;
> >
> > However, it will report a warning because the name parameter type is
> > missing, so that's not recommended.
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC
> > https://bowlerhat.dev/
>
>

Reply via email to