Skip to content
Jing Lu edited this page May 23, 2013 · 22 revisions

The following features supported by only ReoScript are non-compatible to ECMAScript/JavaScript standard.

More simpler inheriting based on prototype mechanism

This feature is planned to implement in v1.3

function A () {
  this.a = 10;
}

function B : A () {
  this.b = 20;
}

var b = new B;
console.log(b.a);

The output is:

10

Lambda Expression and Enhanced Collection Operations

var arr = [1, 5, 7, 8, 10, 13, 20, 24, 26];
var result = arr.where(n => n < 10).sum();

The result is:

21

See Lambda Expression.

setTimeout and setInterval supported to pass arguments

function check_alive(user) {
    if (...) {
        return 'ok';
    } else {
        setTimeout(check_alive, 1000, user);
    }
}

var user = getCurrentUser();
setTimeout(check_alive, 1000, user);

See Enhanced Async-Calling.

Binary literal supported (e.g. 0b1010)

var num = 0b1010;
console.log(num);

The output is:

10