- Arithmetic
- C-Style Single- and multiline comments (
// comment
//* comment */
) - C-Style Comma operator
var i = (a, b, c) // i == c
- Ternary (X ? Y : Z)
- Comparison (wich '<'|'<='|'>'|'>=' operators) of mixed types (number, string, boolean)
- if a string is compared to a number, the string is converted to its length
- If a number is compared to a boolean, the boolean is converted into a number (true == 1.0 / false == 0.0)
- optional semicolons
- REPL
- If condition
- Scope and Block
- Logical operators AND, OR
- Native Functions
- While loop
- For Loop
- Break and Continue keyword for loops
- functions have access to parent scope
- Classes
- Single Inheritance like Java
- Methods
- Functions
- Local functions
- super, this keywords for oop
- public / private class properties
- static class properties
-
inheritance of fields
-
Traits
-
instaceof mechanic (native method or binary operator?)
-
protected class properties
-
interfaces
-
abstract classes
-
Logical operator XOR
-
import native modules
-
Array data structure with dynamic types
-
Foreach loops
-
Function Extension
-
Elvis (X ?? Y) Operators
-
spread operator (ellipsis)
-
Do While Loop
-
Repeat block like Kotlin
-
Bitwise operators <<, >>, >>>
-
Function can take other Function as Parameter
-
Runtime error
-
Semantic analysis
-
Arity Similar to Python that throw error if developer pass less or more than function arguments
-
Create custom prefix operators
-
Create custom infix Operators
-
undeclare (delete) variables
-
implicit variable declaration?
-
++ operator to increment a variable
-
+=, -=, *=, /= operators to run calculations on a variable
-
casting strings to callable
-
function declaration without block statement (instant return - like lambda)
-
Compiler instructions (inline / spread loop)