いくつかjavascriptでクラス定義する時の落とし穴を投稿しました。
クラスの落とし穴4 - Getter/Setterの実装を投稿後に、策4を簡単に取り扱うことができたらなと思っていたら、思い立ってしまってnode用のモジュールを作ってみました。
公開しているのでnpm install cocotte-define
ですぐに使えます。
TypeScriptとか使わなくてもjavascriptだけでプロパティや引数の型チェックしたいなと
思ったら試してみてください
var k = new Klass();
k.name = 'foo';
k.name = 123; // 例外発生
k.setName('foo');
k.setName(123); // 例外発生
また、プライベート変数も簡単に取り扱えるようになっています。
詳しくはgit-READMEで。