Ingvar Stepanyan

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

Tag: JavaScript

  1. Tabs vs spaces: the ultimate argument

    Did you know that using specific code style can affect your JavaScript performance? Gave a 1.5x performance boost in my case ;) That beautiful moment when you change indentation from spaces to tabs and your function suddenly becomes short enough to get inlined by V8.— Ingvar Stepanyan (@RReverser) April…

    JavaScript, Performance

  2. GOTOs in JavaScript are now possible

    And I'm back with my crazy experiments. Currently I'm actively playing with Ragel - state machine compiler that generates highly optimized code for streaming lexers, scanners etc. in a set of languages (C, Java, Ruby, C#, ...). Unfortunately, it didn't have support for JavaScript, and I recently implemented it (likely to…

    JavaScript, Transpilers

  3. 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

  4. ECMAScript decorators on functions

    This one particular question is being often raised around the usage of the new ECMAScript decorators proposal: why can't I use it for regular function declarations? Well, the answer is simple: hoisting :( Since JS hoists up function declarations, those expressions that you use inside of decorators, depending on proposed "solution"…

    JavaScript, ES7, ECMAScript, Decorators, Functions, Functional programming

  5. 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

  6. [Potentially ES7] function bind syntax in Babel

    View original post Babel 5.4 was just released and with it comes support for a new experimental ES7 syntax proposed by Kevin Smith (@zenparsing) and implemented in Babel by Ingvar Stepanyan (@RReverser). Warning: This syntax is highly experimental and you should not use it for anything serious (yet). If…

    JavaScript, Transpilers, ES7