molily: Hexerei mit ECMAScript 5 und Harmony: Ein Ersatz für with

Beitrag lesen

[X] Fachlich hilfreich!

Man könnte sich fast eine ES5-Library basteln, die einem bessere domain-specific languages erlaubt.

Sehr richtig, das wird teilweise auch schon getan. Siehe etwa das Testing-Framework https://github.com/visionmedia/should.js für node.js. Dort wird ebenfalls Object.prototype mit einem Getter »should« erweitert, der ein Objekt mit weiteren Gettern zurückgibt. Dadurch kann man auf die Klammern für Methodenaufrufe verzichten, sodass man schreiben kann:

user.should.not.have.property('age', 0)
true.should.be.true
'test'.should.equal('test')
'test'.should.be.a('string')

Ist das nicht geil? Das fühlt sich viel besser an als das ganze assertEquals(x, y)- oder expect(x).toEqual(y)-Gefrickel von anderen Unit-Testing-Bibliotheken. Fast wie bei Ruby/RSpec. ;)

Mathias