Discussion topics for April 2014 TC39 meeting for async/await proposal
- Ben's implementation in regenerator
- Async arrows
await
at top level- Is
await*
needed? - Ordering of static + async:
static async foo() { }
<h1>Todo List</h1> | |
<form class="form-inline"> | |
<input type="text" class="form-control" placeholder="Add a new todo..." /> | |
<btn typeof="submit" class="btn btn-primary">Add Todo</btn> | |
</form> | |
<br/> | |
<table class="table table-bordered"> |
var http = require('http'); | |
module['exports'] = function isTheWebSiteDown (hook) { | |
http.get(hook.params.url, function(res){ | |
hook.debug(hook.params.url + " is up and running.") | |
hook.res.end('false'); | |
}).on('error', function (){ | |
hook.debug(hook.params.url + " is DOWN!") | |
hook.res.end('true'); | |
}); |
module['exports'] = function echoHttp (hook) { | |
hook.debug("Debug messages are sent to the debug console"); | |
hook.debug(hook.params); | |
hook.debug(hook.req.path); | |
hook.debug(hook.req.method); | |
function $(x: string | Element): { elem: Element } { | |
if(x instanceof Element) { | |
return { elem: document.getElementById(x) } // do I have to say <string>x here? | |
} else { | |
return { elem: x } // do I have to say <Element>x here? | |
} | |
} | |
Discussion topics for April 2014 TC39 meeting for async/await proposal
await
at top levelawait*
needed?static async foo() { }
Note: Up to date version now at https://github.com/lukehoban/es6features
ECMAScript 6 is the upcoming version of the ECMAScript standard. This standard is targetting ratifcation in December 2014. ES6 is a significant update to the language, and the first update to the language since ES5 was standardized in 2009. Implementation of these features in major JavaScript engines is underway now.
See the draft ES6 standard for full specification of the ECMAScript 6 language.
ES6 includes the following new features:
// Use Gists to store code you would like to remember later on | |
console.log(window); // log the "window" object to the console |
// Using bin/typescript.js from TypeScript 0.9.7 | |
function compile(source) { | |
var parseErrors = []; | |
var logger = new TypeScript.NullLogger(); | |
var compilationSettings = TypeScript.ImmutableCompilationSettings.defaultSettings(); | |
var compiler = new TypeScript.TypeScriptCompiler(logger, compilationSettings); | |
var snapshot = TypeScript.ScriptSnapshot.fromString(source); |
// Current ES spec grammar
1 + yield // error
1 + yield 2 // error
yield + 1 // yield (+1)
yield 1 + yield 2 // error
yield(1) + yield(2) // error
yield 1 + 2 // yield (1+2)
yield * yield // (yield *) yield
yield + yield // error