Не все. Дело в том, что есть некоторые надмножества, которые не совсем совместимы. Например перегрузка операторов:
class Vec2 {
...
@operator('+')
function add(a: Vec2, b: Vec2): Vec2 {
return new Vec2(a.x + b.x, a.x + b.y);
}
}
var a = new Vec2(1, 2)
var b = new Vec2(2, 4)
var c = a + b // <- вот на это будет ругаться, но в AS это валидно
В остальном более не менее ок