There's actually two code-bases, a TypeScript one and a Dart one - they're no longer one code-base and NG2 Dart is no longer built from TypeScript since about May 2016.
The JavaScript one is not recommended since both Dart and TS use things that requires workarounds in JS.
IMO NG2 Dart is easier to use since everything is provided out of the box, but looks very similar to NG2 TypeScript.