Draft notes on latest features of Typescript 1.0 presented at BUILD2014
My time stamped draft notes, in the format MinutesSeconds (mmss) format, follows:
636 ref Google's Closure compiler that allows adding type annotations in comments
900 interface introduced, eg. Entity
1100 easy refactoring via VS2013 Update 2 ( or VS2012 Typescript power tool) of prop renaming due to local var name collision
1200 interface is structural typing, specifying obj's properties: duck typing
1430 optional prop name ends with "?". But has type to be obeyed if prop is used
1500 can have methods in an interface
2040 generics use in sorting example
2115 generics are used to flow types. "T extends Entity"
2345 callback use in generics array sort example
2450 lambda expression use not yet in Ecmascript 6
2610 Typescript is a preview of Ecmascript 6 compiled to code that can run on Ecmascript 3 browser
2740 ref type declaration file
3030 writing classes is same with future Ecmascript 6 classes
3425 private properties support has no JS equivalent but may be used to support future Ecmascript 6 symbols = properties with hidden names
3550 productive implicit definition of public properties via their declaration in constructor's signature
3610 support of Ecmascript 6 feature of default argument value, eg. "y: number = 0"
Used if constructor doesn't provide values. The generated Typescript code for the constructor assigns the default value if its type is undefined.
3730 generated JS code for inherited Typescript class
3750 prototype chain setup JS code by __extends() function is the only case when Typescript generates code not written by you
3830 internal modules. Typescript translates the module into a JS function closure like in JQuery. Acts like namespace.
4000 external modules similar with node.js or require.js
4040 Typescript can work on server too. Node.js module system aligns with common.js specs
4100 Typescript app example with 2 modules. First, make a ref to node's type declaration file to get advantage of its types in editor's statement completion
4345 server using node.js module, code example
4450 client module using the server module
4550 command line compilation on client file will produce server JS file too, due to client module dependency on server module. Module compilation flag used for common.js: "tsc hello.ts -m common.js"
5215 advantages of Typescript type checker in spotting errors that were not covered by unit tests
5517 Typescript doesn't enforce to add types to everything. Optional typing.
5650 main advantage of Typescript is to enable tooling
5730 the Typescript ecosystem
5830 the advantage of Typescript definition files: community writes the metadata of programs on the web
5848 Typescript tools
5915 Typescript roadmap