Ingvar Stepanyan

JavaScript developer, speaker and reverse engineer. D2D programmer. Sometimes human.

Tag: ES6

  1. ES6 modules are dead, long live C preprocessor!

    Did you know you could use C preprocessor even for JavaScript files? (yes, it doesn't care about syntax that much) Say, we want to implement C-like "modules" (inclusions) in JavaScript. Create first file 1.js (filenames don't matter) like this: #ifndef HELLO_1 #define HELLO_1 console.log('hello'); #endif…

    JavaScript, ES6, Transpilers

  2. ECMAScript Syntax Graph

    Ever wondered how ECMAScript syntax spec would look like if represented as a graph? Wonder no more - I just built one for fun! Here it is in SVG: If your browser doesn't support SVG, you can view PNG version instead (but be careful on metered connections - it's 3.…

    ES6, ECMAScript

  3. Started work on ES6 -> asm.js conversion

    View on GitHub I know this sounds crazy, but I always wondered why do we always give out such a speedup technique as asm.js (it speeds up code in all the modern browsers!) to developers from other languages if we can use it for own code in JavaScript as…

    JavaScript, ES6, Transpilers, asm.js

  4. Added ES6 support to Acorn

    Worked on and added following ES6 features support to Acorn - small, fast JavaScript parser: Unicode Code Point Escape Sequences (\u{ABCDEF}). Numeric Literals (octal, binary). Arrow Functions. Spread Element. Classes. Destructuring assignments. Computed object properties. Object methods. Shorthand object properties. for (... of ...) loops. Array Comprehensions. Modules. (newest specs) Template…

    JavaScript, AST, ES6, Parsers

  5. A few more words on Acorn-JSX

    Initially this was part of my email response to Lou Husson after mentioning Acorn-JSX in Facebook React Community Round-up #20 and reaching me out, but decided that someone else might find it useful too. UPD (June 12, 2015): Facebook deprecates own parsing and transformation tools in favor of Acorn, Acorn-JSX…

    JavaScript, AST, React, JSX, ES6, Parsers, Transpilers

  6. Asynchronously traverse tree of mixed promises and values

    View on GitHub Asynchronously traverse tree of mixed promises and values Why Consider this function as Promise.map + Promise.all for trees. Often enough, we have tree structures, and when we want to transform them asynchronously, we have no other options but use sync variants of functions or write ugly…

    JavaScript, ES6, Promise