In this particular case, Ruby is not being compiled to JavaScript but being transpired.
First, "transpiled" not "transpired".
Second, "transpiled" is a special case of "compiled", so you can never correctly say that something is not being compiled but is being transpiled, in the same way you can't say something is not a rectangle but is a square.
it's a mix, some stuff is high level (closure), some is low level (for loop before ECMA6). This is very uncomfortable when you're learning it, you never know on which side you are.
Comments
It has been my experience that JavaScript is a high level language.
In this particular case, Ruby is not being compiled to JavaScript but being transpired.
First, "transpiled" not "transpired".
Second, "transpiled" is a special case of "compiled", so you can never correctly say that something is not being compiled but is being transpiled, in the same way you can't say something is not a rectangle but is a square.
it's a mix, some stuff is high level (closure), some is low level (for loop before ECMA6). This is very uncomfortable when you're learning it, you never know on which side you are.